Ticket #1823 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

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.

Change History

Changed 4 years ago by dukeleto

  • owner set to dukeleto

Should be fixed in r49502. Please confirm.

Changed 4 years ago by jkeenan

  • status changed from new to closed
  • resolution set to fixed

Confirmed on both Linux/i386 and Darwin/PPC. Closing ticket. Thank you very much.

Note: See TracTickets for help on using tickets.