Ticket #1823 (closed bug: fixed)
t/tools/mk_language_shell.t: FAILs two tests
Reported by: | jkeenan | Owned by: | dukeleto |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | testing | Version: | 2.8.0 |
Severity: | medium | Keywords: | |
Cc: | dukeleto | Language: | |
Patch status: | Platform: |
Description
This newly added test file is failing to pass two of its tests. I have observed the following on both Linux/i386 and Darwin/PPC (and see Smolder for reports from other systems):
$ prove t/tools/mk_language_shell.t t/tools/mk_language_shell.t .. 6/7 # Failed test 'language builds, exit code = 1' # at t/tools/mk_language_shell.t line 62. # Failed test 'language passes all tests, exit code = 1' # at t/tools/mk_language_shell.t line 67. # Looks like you failed 2 tests of 7.
On #parrot dukeleto asked me to run certain commands to debug the problem. Here's an example of what I get on Linux/i386:
$ perl tools/dev/mk_language_shell.pl test_lang; cd test_lang; ../parrot setup.pir build; ../parrot setup.pir test; cd - creating test_lang/ creating test_lang/README creating test_lang/setup.pir creating test_lang/PARROT_REVISION no doc: skipping test_lang/doc/test_lang.pod no doc: skipping test_lang/doc/running.pod no dynext: skipping test_lang/dynext/.ignore creating test_lang/test_lang/ creating test_lang/test_lang/.ignore creating test_lang/test_lang.pir creating test_lang/src/ creating test_lang/src/test_lang.pir creating test_lang/src/test_lang/ creating test_lang/src/test_lang/Grammar.pm creating test_lang/src/test_lang/Actions.pm creating test_lang/src/test_lang/Compiler.pm creating test_lang/src/test_lang/Runtime.pm no pmc: skipping test_lang/src/pmc/test_lang.pmc no ops: skipping test_lang/src/ops/test_lang.ops creating test_lang/t/ creating test_lang/t/00-sanity.t /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_actions.pir src/test_lang/Actions.pm /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_compiler.pir src/test_lang/Compiler.pm /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_grammar.pir src/test_lang/Grammar.pm /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_runtime.pir src/test_lang/Runtime.pm /home/jimk/work/parrot/parrot -o test_lang/test_lang.pbc src/test_lang.pir /home/jimk/work/parrot/parrot -o test_lang.pbc test_lang.pir /home/jimk/work/parrot/pbc_to_exe test_lang.pbc --install && strip installable_test_lang cc -o test_lang.o -I/home/jimk/work/parrot/include -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT -DHASATTRIBUTE_COLD -DHAS_GETTEXT -c test_lang.c Compiled: test_lang.o cc -o installable_test_lang test_lang.o /home/jimk/work/parrot/src/install_config.o -Wl,-rpath=/usr/local/lib -L/home/jimk/work/parrot/blib/lib -lparrot -Wl,-E -fstack-protector -L/usr/local/lib -Wl,-E -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp -lreadline -lpthread -lm -L/usr/lib -licuuc -licudata -lpthread -lm cc: /home/jimk/work/parrot/src/install_config.o: No such file or directory linking failed current instr.: 'link_file' pc 1117 (tools/dev/pbc_to_exe.pir:643) called from Sub 'main' pc 171 (tools/dev/pbc_to_exe.pir:133) exit status: 256 command: /home/jimk/work/parrot/pbc_to_exe test_lang.pbc --install && strip installable_test_lang current instr.: 'setup' pc 883 (runtime/parrot/library/distutils.pir:387) /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_actions.pir src/test_lang/Actions.pm /home/jimk/work/parrot/parrot-nqp --target=pir --output=src/gen_compiler.pir src/test_lang/Compiler.pm /home/jimk/work/parrot/parrot -o test_lang/test_lang.pbc src/test_lang.pir /home/jimk/work/parrot/pbc_to_exe test_lang.pbc --install && strip installable_test_lang cc -o test_lang.o -I/home/jimk/work/parrot/include -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT -DHASATTRIBUTE_COLD -DHAS_GETTEXT -c test_lang.c Compiled: test_lang.o cc -o installable_test_lang test_lang.o /home/jimk/work/parrot/src/install_config.o -Wl,-rpath=/usr/local/lib -L/home/jimk/work/parrot/blib/lib -lparrot -Wl,-E -fstack-protector -L/usr/local/lib -Wl,-E -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp -lreadline -lpthread -lm -L/usr/lib -licuuc -licudata -lpthread -lm cc: /home/jimk/work/parrot/src/install_config.o: No such file or directory linking failed current instr.: 'link_file' pc 1117 (tools/dev/pbc_to_exe.pir:643) called from Sub 'main' pc 171 (tools/dev/pbc_to_exe.pir:133) exit status: 256 command: /home/jimk/work/parrot/pbc_to_exe test_lang.pbc --install && strip installable_test_lang current instr.: 'setup' pc 883 (runtime/parrot/library/distutils.pir:387) /home/jimk/work/parrot
dukeleto commented: Looks like making a new language depends on install_config.o being around, which isn't built unless "make install" is called. All my machines install into the build dir before testing, so it doesn't happen on them.
But including any test file in make test implies that it ought to pass before make install is run. Perhaps a make test_post_install target is needed.