#87: 'make test' inoperable in languages/PIR/
---------------------+------------------------------------------------------
Reporter: jkeenan | Owner: kjs
Type: bug | Status: new
Priority: normal | Milestone:
Component: pirc | Version: trunk
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
---------------------+------------------------------------------------------
According to languages/PIR/README, it ought to be a simple matter to run
the tests in languages/PIR/t/
{{{
Type
$ make
Easy huh? Please note that compiling may take a while.
The compiler is called 'pir.pbc', but the main source file
is called pirc.pir, otherwise it would be "pir.pir", which
is kinda strange.
After that, you can run the test suite:
$ make test
which will run a little perl script that runs all files in the
examples directory.
}}}
But instead, 'make test' fails horribly. The output from the first test
in the first file run, ''languages/PIR/t/assign.t'', looks like this:
{{{
[PIR] 527 $ prove -v t/assign.t
t/assign....
1..7
not ok 1 - simple assignments
# Failed test 'simple assignments'
# at t/assign.t line 12.
# 'Parrot VM: Can't stat languages/PIR/pir.pbc, code 2.
# main: Packfile loading failed
# '
# doesn't match '(?-xism:Parse successful!)'
# './parrot languages/PIR/pir.pbc
work/parrot/languages/PIR/t/assign_1.pir' failed with exit code 1
}}}
chromatic indicated that ''"Parrot VM: Can't stat languages/PIR/pir.pbc"''
is similar to a Perl 5 "can't locate package X in @INC." After staring at
this for >1 hour and larding up Parrot::Test with debugging statements, I
realized how this was true in this case. At some point, the ''pir.pbc''
file generated by running make in languages/PIR/ was renamed ''pirc.pbc''
{{{
[parrot] 540 $ ls -l languages/PIR/pir.pbc
ls: languages/PIR/pir.pbc: No such file or directory
[parrot] 541 $ ls -l languages/PIR/pirc.pbc
-rw-r--r-- 1 jimk jimk 774000 Dec 23 20:00 languages/PIR/pirc.pbc
}}}
Problem is: That doesn't play well with Parrot::Test. Parrot::Test loads
Parrot::Test::PIR_PGE, which at one point explicitly expects ''pir''
rather than ''pirc''.
{{{
my $cmd = "$self->{parrot} $args languages/PIR/pir.pbc $lang_f";
}}}
And, no, simply changing ''pir.pbc'' to ''pirc.pbc'' in the line above
doesn't get the test to pass (though it does generate a very different
error message).
Comments?
[[BR]]
Thank you very much.[[BR]]
kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/87>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets