#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

Reply via email to