t/pmc/packfile.t: Warning about invalid Parrot bytecode file

James E Keenan jkeen at verizon.net
Thu Aug 5 01:50:35 UTC 2010


Tonight, for the second time since our last release, when I did 'svn 
up', configured, built and tested on Darwin/PPC, I got failures in the 
t/pmc/packfile*.t tests:

t/pmc/packfile.t                          (Wstat: 256 Tests: 11 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 37 tests but ran 11.
t/pmc/packfileconstanttable.t             (Wstat: 256 Tests: 0 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 16 tests but ran 0.
t/pmc/packfiledirectory.t                 (Wstat: 256 Tests: 4 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 20 tests but ran 4.
t/pmc/packfilefixupentry.t                (Wstat: 256 Tests: 0 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 3 tests but ran 0.
t/pmc/packfilefixuptable.t                (Wstat: 256 Tests: 0 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 3 tests but ran 0.
t/pmc/packfilerawsegment.t                (Wstat: 256 Tests: 0 Failed: 0)
   Non-zero exit status: 1
   Parse errors: Bad plan.  You planned 7 tests but ran 0.

By now, I'm an old hand at this.  I ran:

   sh tools/dev/mk_packfile_pbc

... which updated these files in t/native_pbc/:

   integer.pbc number.pbc string.pbc

I then called:

   prove t/pmc/packfile*.t

... and all the tests passed once again.  I transmitted the updated .pbc 
files to my Linux/i386 box, where I built and ran 'make test' 
satisfactorily.  I then committed the revised .pbc files to trunk in r48323.

The only problem:  On either Darwin/PPC or Linux/i386, when I run one of 
these files I get a message on terminal:

[parrot] 514 $ prove -v t/pmc/packfile.t
t/pmc/packfile.t ..
1..37
ok 1 - new
ok 2 - Wordsize set
ok 3 - version_major set
ok 4 - bytecode_major set
PackFile_unpack: This is not a valid Parrot bytecode file
ok 5 - set_string_native with invalid data throws
ok 6 - get_string(uuid)
...
ok
All tests successful.
Files=1, Tests=37,  1 wallclock secs ( 0.13 usr  0.03 sys +  0.10 cusr 
0.05 csys =  0.31 CPU)
Result: PASS

All the tests PASS, so I'm not overly worried.  But I would like to know 
what is causing that message.

Thank you very much.
kid51



More information about the parrot-dev mailing list