More on Testing
Well, testing is good. I have been uncovering a few subtle bugs. One was some weirdness in config.h where BYTEORDER was not getting defined, so MacPerl 5.6.1a1 thinks it is little-endian. Oops. That's all fixed.
Then we find that perl does not completely implement sprintf, and that it leaves the e/f/g formats for the local sprintf to handle. And there is at least one bug in SFIO's sprintf implementation, and maybe two (that is, it rounds 0.9 down to 0 for %0.f, and it pads %010g with spaces to the left, instead of 0s). One or both of these may have been fixed in more recent SFIOs.
I also added some Makefile instructions to install the libs in :lib:macos: into :lib:, simplifying a few things. Yay.
I am going to start the tests over from scratch, as I found out some interesting things. First, "@INC = '../lib'" works fine in MacPerl 5.6.1. Is this good or bad? I dunno, but for now I'll keep it, as it means far fewer patches to the test suite. Now that (as noted in the previous paragraph) Config.pm is in ::lib, we won't need to include ::macos:lib. Nifty.
I also found out that $ENV{MACPERL} and $ENV{PERL5LIB} were sometimes interfering with my test paths. Ack. So part of the test procedure would be to un-set those (under MPW).
Really, most of these tests need to be done under MPW. Oh well.
Then we find that perl does not completely implement sprintf, and that it leaves the e/f/g formats for the local sprintf to handle. And there is at least one bug in SFIO's sprintf implementation, and maybe two (that is, it rounds 0.9 down to 0 for %0.f, and it pads %010g with spaces to the left, instead of 0s). One or both of these may have been fixed in more recent SFIOs.
I also added some Makefile instructions to install the libs in :lib:macos: into :lib:, simplifying a few things. Yay.
I am going to start the tests over from scratch, as I found out some interesting things. First, "@INC = '../lib'" works fine in MacPerl 5.6.1. Is this good or bad? I dunno, but for now I'll keep it, as it means far fewer patches to the test suite. Now that (as noted in the previous paragraph) Config.pm is in ::lib, we won't need to include ::macos:lib. Nifty.
I also found out that $ENV{MACPERL} and $ENV{PERL5LIB} were sometimes interfering with my test paths. Ack. So part of the test procedure would be to un-set those (under MPW).
Really, most of these tests need to be done under MPW. Oh well.
Leave a comment