9f26dbcc68
For any test there's a directory with a script for each architecture. These scripts generate intermediate files in the dir during compilation, with the same names no matter the arch. So if one tries to execute the scripts in parallel they all fight for the files. To allow for parallel testing, now we create a temporal dir named after the arch to isolate the intermediate files. Scripts are patched accordingly. This also allows easier clean-up: now, removing the temporal dirs is almost all that we need (and the per-test .gitignore files are replaced with a couple of lines in test/.gitignore). A common script replaces the per-test cleanup.sh. It gets the number of the test as an argument and takes care of some minor special cases. The makefile is adapted to use this new test/cleanup_test.sh script. Those special files are created during the last stage of each test, but only if the host arch matches the test. They're _not_ isolated here because it's harder (due to how we do the checksum) and they cannot collide unless emulation is used and several calls to make are made at the same time. |
||
---|---|---|
.. | ||
break-for.c | ||
hello-aarch64.sh | ||
hello-amd64.sh | ||
hello-armv7l.sh | ||
hello-knight-native.sh | ||
hello-knight-posix.sh | ||
hello-x86.sh | ||
proof.answer |