Ticket #87 (closed bug: wontfix)

Opened 6 years ago

Last modified 6 years ago

'make test' inoperable in languages/PIR/

Reported by: jkeenan Owned by:
Priority: normal Milestone:
Component: language Version: trunk
Severity: medium Keywords: PIR
Cc: Language:
Patch status: Platform:

Description

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?


Thank you very much.
kid51

Attachments

PIR.make.test.output.txt Download (67.7 KB) - added by jkeenan 6 years ago.
languages/PIR: 'make test' still failing entirely

Change History

  Changed 6 years ago by kjs

  • owner kjs deleted
  • component changed from pirc to language

follow-up: ↓ 3   Changed 6 years ago by allison

I renamed the core compiler files to pir.pir and pir.pbc in r36080. This resolves the issue reported here, but languages/PIR has other failures. I fixed one in r36079 that was a call to a rule 'label' when the name of the rule had changed to 'normal_label'. I didn't look into the other failures. Recommend closing this ticket and reopening tickets specific to the remaining failures.

Changed 6 years ago by jkeenan

languages/PIR: 'make test' still failing entirely

in reply to: ↑ 2   Changed 6 years ago by jkeenan

Replying to allison:

I renamed the core compiler files to pir.pir and pir.pbc in r36080. This resolves the issue reported here, but languages/PIR has other failures. I fixed one in r36079 that was a call to a rule 'label' when the name of the rule had changed to 'normal_label'. I didn't look into the other failures. Recommend closing this ticket and reopening tickets specific to the remaining failures.

At r36179 on Linux/i386, having again followed the instructions in the languages/PIR/README, I am still getting no passing tests whatsoever. (See attachment.)

  Changed 6 years ago by jkeenan

  • status changed from new to closed
  • keywords PIR added
  • resolution set to wontfix

I no longer see languages/PIR in the repository, so I'm closing this ticket.

Note: See TracTickets for help on using tickets.