#13 Merged at a172413

Build errors with cache and parallel tasks (-j 4)

  1. dirkbaechle

After a few iterations, I was able to integrate the final patch for #2720 by Alexey and successfully ran it against our test suite. I added a simple test routine to TaskmasterTests.py, ensuring that execute() doesn't blank out the binfo field anymore. Hopefully I understood the problem right, and this is a proper way to check things...

More infos and the full description of the problem can be found at http://scons.tigris.org/issues/show_bug.cgi?id=2720 . Also regard the added comments in TaskmasterTests.py, test_cached_execute().

Comments (3)

  1. Gary Oberbrunner

    Hi Dirk -- thanks for working on this. Is the lack of specific test due to it being a multithread timing issue, so it's hard to test? We should have a specific test for this bug if possible, to ensure it doesn't come back some day. Let me know what you think.

    Note that it's quite acceptable for the test to be a white-box unit test that calls individual low-level functions and tests state that way -- it doesn't need to be a whole system test that calls SCons to build files. It could just set up the conditions, call task.execute() and ensure that the node is now in the correct state (which will fail in the old case, and pass now).

    1. dirkbaechle author

      Hi Gary,

      thanks for your comments. In the BugParty back then it was decided to integrate the patch as is, without test routines. However, I'm going to take a second look at it and will try to follow your suggestions. I hope I can come up with something decent...