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

#13 Merged at a172413
  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, 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 . Also regard the added comments in, 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...