petdance/scratch — Issue #217: [RFC] make a test_core.pir that tests which are part of coretest use, instead of test_more.pir
Author: petdance
Created: 2011-11-01 04:25:18+00:00
State: open

Tests that are in {{{make coretest}}} cannot use PGE, but there is nothing enforcing this, so they end up being added and then the first poor sap that types {{{make corevm; make coretest}}} gets something like
{{{
# test_fetch_keyed_pmc
# test_fetch_keyed_int
# test_fetch_keyed_str
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_atan' pc 1170 (t/op/inf_nan.t:224)
called from Sub 'main' pc 137 (t/op/inf_nan.t:34)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_sqrt_n_n' pc 3976 (t/op/number.t:798)
called from Sub 'main' pc 389 (t/op/number.t:62)
# test_vivify_keyed_pmc
# test_vivify_keyed_int
# test_vivify_keyed_str
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/md2.t:72)
called from Sub 'main' pc 68 (t/dynpmc/md2.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/md4.t:72)
called from Sub 'main' pc 68 (t/dynpmc/md4.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/md5.t:72)
called from Sub 'main' pc 68 (t/dynpmc/md5.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/ripemd160.t:72)
called from Sub 'main' pc 68 (t/dynpmc/ripemd160.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/sha.t:72)
called from Sub 'main' pc 68 (t/dynpmc/sha.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/sha1.t:72)
called from Sub 'main' pc 68 (t/dynpmc/sha1.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/sha256.t:72)
called from Sub 'main' pc 68 (t/dynpmc/sha256.t:33)
"load_bytecode" couldn't find file 'PGE.pbc'
current instr.: 'parrot;Test;More;like' pc 1662 (runtime/parrot/library/Test/More.pir:1085)
called from Sub 'test_digest' pc 205 (t/dynpmc/sha512.t:72)
called from Sub 'main' pc 68 (t/dynpmc/sha512.t:33)
# no extension recognized for t/perl/testlib/hello
# no extension recognized for t/perl/testlib/hello
# no extension recognized for t/perl/testlib/hello
make: *** [coretest] Error 1
}}}

The proposal is to have a test_core.pir which only imports the subset of function from test_more.pir that are valid for making the corevm target happy.

For reference, this is the current output of "make coretest" on trunk.