Ticket #176 (closed defect: fixed)
Race condition in war test driver / build all libraries before running tests.
| Reported by: | benl | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Build System | Version: | |
| Keywords: | Cc: |
Description
When running the war test driver with 8 threads, the programs in `test/93-Graphics' frequently fail the first time, but work fine if I run war again.
I expect this is because building these tests also causes stuff in library/Graphics to get built, and if we try to build the graphics stuff concurrently, more than once, it'll die.
The cheap way to fix this would just be to ensure that all of the libraries get built before running the tests.
The more expensive way would be to somehow lock source files when they're being compiled, which might be a good idea for other reasons as well. However after reading some of the problems mentioned on http://en.wikipedia.org/wiki/File_locking I'm not sure this would be worth it in the long run. The line "Whether flock locks work on network filesystems, such as NFS, is implementation-dependent." makes me particularly sad.
