apenwarr-redo/t
Avery Pennarun f6fe00db5c Directory reorg: move code into redo/, generate binaries in bin/.
It's time to start preparing for a version of redo that doesn't work
unless we build it first (because it will rely on C modules, and
eventually be rewritten in C altogether).

To get rolling, remove the old-style symlinks to the main programs, and
rename those programs from redo-*.py to redo/cmd_*.py.  We'll also move
all library functions into the redo/ dir, which is a more python-style
naming convention.

Previously, install.do was generating wrappers for installing in
/usr/bin, which extend sys.path and then import+run the right file.
This made "installed" redo work quite differently from running redo
inside its source tree.  Instead, let's always generate the wrappers in
bin/, and not make anything executable except those wrappers.

Since we're generating wrappers anyway, let's actually auto-detect the
right version of python for the running system; distros can't seem to
agree on what to call their python2 binaries (sigh). We'll fill in the
right #! shebang lines.  Since we're doing that, we can stop using
/usr/bin/env, which will a) make things slightly faster, and b) let us
use "python -S", which tells python not to load a bunch of extra crap
we're not using, thus improving startup times.

Annoyingly, we now have to build redo using minimal/do, then run the
tests using bin/redo.  To make this less annoying, we add a toplevel
./do script that knows the right steps, and a Makefile (whee!) for
people who are used to typing 'make' and 'make test' and 'make clean'.
2018-12-04 02:53:40 -05: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 Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
102-empty {ood,sources,targets}: fix relative paths; turn missing targets into sources. 2018-11-23 19:18:43 -05: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/110-compile and t/111-example: skip if no C compiler installed. 2018-11-19 15:46:22 -05:00
111-example t/110-compile and t/111-example: skip if no C compiler installed. 2018-11-19 15:46:22 -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 Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05: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 minimal/do: don't create a .did file until after a file is actually built. 2018-11-02 04:25:35 -04:00
202-del t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
203-make jwack: _cheatfds error when run from toplevel make -j. 2018-12-04 02:43:58 -05:00
220-ifcreate t/*: rearrange tests into numbered directories. 2012-02-08 01:56:50 -05:00
250-makedir minimal/do: didn't work correctly with multi-level auto dir creation. 2018-11-02 04:27:28 -04:00
260-whichdo minimal/do whichdo: should print ../default.do if ../$1.do exists. 2018-11-02 03:13:45 -04:00
350-deps t/*: some cleanups so switching between redo and minimal/do works. 2018-10-12 05:20:27 -04:00
351-deps-forget t/351-deps-forget: forgot skip-if-minimal-do. 2018-12-04 02:43:58 -05: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 Further improve handling of symlink targets/deps. 2018-11-21 16:28:14 -05:00
370-logs redo-log: add automated tests, and fix some path bugs revealed by them. 2018-11-19 18:58:36 -05: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 Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
all.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
clean.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
dotparams.od redo-sh: downgrade failures that affected dash; add a bash warning. 2018-10-12 05:18:25 -04:00
flush-cache.do Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
flush-cache.in Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
nothing.od shelltest: detect the ". of empty script" shell problem. 2011-02-28 22:06:57 -08:00
shelltest.od shelltest.od: detect some weird zsh problems. 2018-12-04 02:43:58 -05:00
skip-if-minimal-do.sh t/351-deps-forget: forgot skip-if-minimal-do. 2018-12-04 02:43:58 -05: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