summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-10-25 06:37:30 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-10-25 06:37:30 -0700
commit424ccf8eae59d60b85e31b6b0d32bac7492eb946 (patch)
tree2edb9b1fc71db93a6a3f58fc2873d3bdd87bb6d2 /parser.c
parente785a27f51b43a35ab2ef3852f3be539f1a45ee3 (diff)
downloadtxr-424ccf8eae59d60b85e31b6b0d32bac7492eb946.tar.gz
txr-424ccf8eae59d60b85e31b6b0d32bac7492eb946.tar.bz2
txr-424ccf8eae59d60b85e31b6b0d32bac7492eb946.zip
Makefile: further improvement of tests.
The problem is that if a test is interrupted, it will not be re-run because the .ok stamp file depends only on an .out file, and that has been successfully created. We completely remove .out files from the rule tree. Quite simply, the output of a test is the .ok stamp. If that is out of date or doesn't exist, the test is run. Generation of the .out is just a side effect. * Makefile (TESTS_OK): Calculate this variable directly from the wildcard over .txr and .tl files..directly rather than from TESTS_OUT. (TESTS_OUT): Variable removed. (TXR_OPTS, TXR_ARGS): The target-specific assignments of these variables for specific tests is now done against .ok stamp file targets rather than .out targets. (TST_EXPECTED, TST_OUT): New helper variables for condensing repeated instances of some syntax. (tst/%.out): Both of these rules are turned into rules which target tst/%.ok. The .out files are just a side effect; the goal is to update the stamp. If an .out file is removed, the test won't be re-run; only if an .ok file is removed, or any of the real prerequisites change. (%.ok): This rule disappears, and its body containing the conditional stamp file touch is moved into both tst/%.ok rules.
Diffstat (limited to 'parser.c')
0 files changed, 0 insertions, 0 deletions