apenwarr-redo/t
Avery Pennarun f345eae290 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:54:29 -04:00
..
000-set-minus-e Avoid bashism >&file 2018-10-11 03:28:05 -04:00
100-args Remove deprecated old-args feature. 2018-10-11 03:28:05 -04:00
101-atime t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
102-empty minimal/do: redo vs redo-ifchange, and fix empty target handling. 2018-10-17 01:54:29 -04:00
103-unicode t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
104-space t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
110-compile t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
111-compile2 Rename 111-compile to 111-compile2. 2012-02-09 00:42:40 -05:00
120-defaults-flat t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
121-defaults-nested t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
130-mode Fix t/130-mode: "ls -l" output is not always as expected 2018-10-11 03:28:05 -04:00
140-shuffle Add a test for --shuffle option. 2012-02-09 00:42:41 -05:00
141-keep-going Avoid bashism >&file 2018-10-11 03:28:05 -04:00
200-shell t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
201-fail t/*: some cleanups so switching between redo and minimal/do works. 2018-10-12 05:20:27 -04:00
202-del t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
220-ifcreate t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
250-makedir t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
350-deps t/*: some cleanups so switching between redo and minimal/do works. 2018-10-12 05:20:27 -04:00
355-deps-cyclic t/*: some cleanups so switching between redo and minimal/do works. 2018-10-12 05:20:27 -04:00
360-symlinks t/*: some cleanups so switching between redo and minimal/do works. 2018-10-12 05:20:27 -04:00
550-chdir t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
640-always t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
950-curse t/stress: add a test that usually triggers a bug using 950-curse. 2018-10-12 05:48:56 -04:00
999-installer Avoid bashism >&file 2018-10-11 03:28:05 -04:00
s60-stamp t/660-stamp: don't run at the same time as other tests in redo -j. 2018-10-12 05:20:27 -04:00
.gitignore t/stress: add a test that usually triggers a bug using 950-curse. 2018-10-12 05:48:56 -04:00
all.do builder.py: refresh the File object after obtaining the lock. 2018-10-13 01:37:08 -04:00
clean.do t/stress: add a test that usually triggers a bug using 950-curse. 2018-10-12 05:48:56 -04:00
dotparams.od redo-sh: downgrade failures that affected dash; add a bash warning. 2018-10-12 05:18:25 -04:00
flush-cache Rename flush-cache.py to flush-cache, and rearrange the code a bit. 2011-02-23 01:27:41 -08:00
nothing.od shelltest: detect the ". of empty script" shell problem. 2011-02-28 22:06:57 -08:00
shelltest.od redo-sh: downgrade failures that affected dash; add a bash warning. 2018-10-12 05:18:25 -04:00
skip-if-minimal-do.sh Disable the tests that don't work with minimal/do. 2010-12-11 21:06:12 -08:00
sleep t/*.do: add some time delays. 2010-11-13 02:17:22 -08:00
stress.do t/stress: add a test that usually triggers a bug using 950-curse. 2018-10-12 05:48:56 -04:00