id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
87	'make test' inoperable in languages/PIR/	jkeenan		"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"	bug	closed	normal		language	trunk	medium	wontfix	PIR				
