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:
Avery Pennarun 2019-03-02 02:13:18 -05:00
commit 8100aa4973
6 changed files with 29 additions and 1 deletions

1
t/122-defaults-parent/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/*.log