This website requires JavaScript.
CODE
0x495fab29
Explore
Sign in
forks
/
apenwarr-redo
Watch
1
Star
0
Fork
You've already forked apenwarr-redo
0
Code
Issues
Pull requests
Projects
Releases
Packages
Wiki
Activity
Actions
ec72beb343
apenwarr-redo
/
t
/
102-empty
/
clean.do
1 line
31 B
Text
Raw
Normal View
History
Unescape
Escape
minimal/do: redo vs redo-ifchange, and fix empty target handling. We previously assumed that redo and redo-ifchange are the same in minimal/do's design, because it rebuilds all targets on every run, and so there's no reason to ever build the same target more than once. Unfortunately that's incorrect: if you run 'redo x' from two points in a single run (or even twice in the same .do file), we expect x to be built twice. If you wanted redo to decide whether to build it the second time, you should have used redo-ifchange. t/102-empty/touchtest was trying to test for this. However, a second bug in minimal/do made the test pass anyway. minimal/do would *always* rebuild any target x that produced no output, not caring whether it had tried to build before, whether you used redo or redo-ifchange. And while we tested that redo would redo a file that had been deleted, we didn't ensure that it would redo a file that was *not* deleted, nor that redo-ifchange would *not* redo that file. Fix both bugs in minimal/do, and make t/102-empty/touchtest cover the missing cases.
2018-10-17 01:42:32 -04:00
rm -f touch1 touch1-ran *~ .*~
Reference in a new issue
Copy permalink