Ticket #2014 (closed bug: fixed)
t/tools/mk_language_shell.t might use an old installed parrot
Reported by: | doughera | Owned by: | dukeleto |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | testing | Version: | 3.0.0 |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
t/tools/mk_language_shell.t failed on parrot-3.1.0 with the following unhelpful error message:
t/tools/mk_language_shell....1..7 ok 1 - mk_language_shell basic sanity ok 2 - test_parrot_language_2415 dir exists ok 3 - test_parrot_language_2415/t dir exists ok 4 - test_parrot_language_2415/src dir exists ok 5 - test_parrot_language_2415/setup.pir exists and has nonzero size Unable to execute setup.pir at t/tools/mk_language_shell.t line 68 # Looks like you planned 7 tests but only ran 5. # Looks like your test died just after 5. dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 6-7
The problem is that t/tools/mk_language_shell.t attempts to use an installed parrot instead of the one being currently built. This can obviously fail if the installed parrot isn't a good match for the one being built.
Generally, I think it's a bad idea to assume that a random parrot executable that happens to be in the installation directory is compatible with the current parrot being built.
I'd propose a patch, but the code in question was explicitly added in TT #1890, so reverting that fix might be simpler, but will still leave the deeper problem of setting up an appropriate environment for the test. I haven't invested the time necessary to study the issue in detail, but I think that relying on a previously-installed parrot is probably not the most robust approach.