make -j test/parallel make for tests is broken
clbr opened this issue · comments
I'm not sure if this was supposed to work, if not please close this.
$ make -j13 test
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
mkdir -p ../../../testwrk/asm/val
../../../bin/ca65 -t sim6502 -o ../../../testwrk/asm/val/addrsize.6502.o addrsize.s
addrsize.s:22: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
addrsize.s:26: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
addrsize.s:30: Warning: Deprecated feature: '.feature addrsize'. Pseudo function .addrsize is always available.
Fatal error: Cannot open output file '../../../testwrk/asm/val/addrsize.6502.o': No such file or directory
make[3]: *** [../../../testwrk/asm/val/addrsize.6502.prg] Error 1
make[2]: *** [continue] Error 2
make[2]: *** Waiting for unfinished jobs....
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[1]: *** [continue] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [test] Error 2
IIRC the tests cant run in parallel.... @oliverschmidt ?
(Bonus: if that is true, can we detect it in the makefile and show a message?)
I'm sorry but I can't remember anything about this anymore 🤔
just for info:
(Bonus: if that is true, can we detect it in the makefile and show a message?)
... i found https://www.gnu.org/software/make/manual/html_node/Testing-Flags.html - i couldnt make it detect -j properly in a quick test however :)
you can put .NOTPARALLEL:
inside the test/ Makefile and it should forcefully serialise https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html
We do want it to be parallel, it just didn't work at the time. I think it works now, but I haven't tested.