Certain redo post-build failures would still mark a target as built.
If we failed because: - target dir doesn't exist - failed to copy from stdout - failed to rename $3 We would correctly return error 209, but the target would still be marked as having been built, so redo-ifchange would not try to build it next time, beause we forgot to call sf.set_failed() in those cases. minimal/do worked correctly. Added a test to catch this in the future.
This commit is contained in:
parent
8a0effa5b3
commit
8100aa4973
6 changed files with 29 additions and 1 deletions
|
|
@ -419,7 +419,8 @@ class _BuildJob(object):
|
|||
sf.csum = None
|
||||
sf.update_stamp()
|
||||
sf.set_changed()
|
||||
else:
|
||||
# rv might have changed up above
|
||||
if rv:
|
||||
helpers.unlink(self.tmpname)
|
||||
sf = self.sf
|
||||
sf.set_failed()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue