Hi,

Attached shell script (for systems with a shell) runs all parrot tests 
natively compiled either static or shared.

It uses the perl6 driver for this, which has (since I ran out of disc 
space first ;-) an explicit option to delete the ~2MB static executables 
after  successful tests.
(perl6 is able to run .p6 .imc .pasm and .pbc files - patches for non 
*nix OSs welcome)

A lot of errors are due to these warnings:

- 
decimal constant is so large that it is unsigned
- 
comparison between signed and unsigned

one error is:

- 
`REL_PC' undeclared (first use in this function)

Test result after applying [perl #16298]:

../testnative
[ ... ]
Failed Test  Status Wstat Total Fail  Failed  List of failed
-------------------------------------------------------------------------------
t/op/hacks.t                  1    1 100,00%  1
t/op/ifunless.t               6    2  33,33%  1, 4
t/op/integer.t               39    9  23,08%  16-23, 34
t/op/interp.t                 1    1 100,00%  1
t/op/rx.t                    27    6  22,22%  6, 8, 10, 12, 14, 17
t/op/stacks.t                35    3   8,57%  4, 7, 34
t/op/string.t                87    4   4,60%  81-82, 84-85
t/pmc/perlhash.              15    1   6,67%  9
t/pmc/sub.t                   3    2  66,67%  2-3
5 subtests skipped.
Failed 9/26 test scripts, 65.38% okay. 29/432 subtests failed, 93.29% okay.

BTW stacks_33 takes quite a long time to finish ... and succeeds finally.

../testnative --shared

[ same result ]

(All tests on i386-linux, perl 5.005_03)

leo
#!/bin/sh
#
# run parrot tests in native C mode
#

cleanup() {
        if [ "$S" = "--shared" ] ; then
                rm parrot parrot.orig
                make
        else
                mv parrot.orig parrot
        fi
        exit
}

trap cleanup 1 2 3
mv parrot parrot.orig
if [ "$1" = "--shared" ] ; then
        rm parrot
        make shared
        export LD_LIBRARY_PATH=blib/lib
        S=--shared
fi
echo 'cd languages/perl6; perl6 -C $S --ignore-exitcode --rm-exe ../../$1' > parrot
# use -kC to keep all intermediate files
# on error, files are kept
# if you don't --rm-exe, you'll need plenty of disk space
chmod 755 parrot
make test
cleanup

Reply via email to