chiark / gitweb /
Test suite: Provide t-setup-* machinery
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Aug 2016 19:19:35 +0000 (20:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 5 Sep 2016 12:41:48 +0000 (13:41 +0100)
commit441cf15ffbafea7aa6be4cc04bb0085c8d79063e
treefc73fbda787fa31fa0ba838ae7542c18611069e6
parent4148272808e1c37f1077aa6a42e6057378730fa3
Test suite: Provide t-setup-* machinery

Setups are, essentially, prefixes to test cases.  We arrange to be
able to reuse their state (as explicitly recorded in t-setup-done), so
that manual runs of the test suite can be faster.

We save the tmp base directory (the directory shared by tests), if
there is one.  That will be used for cacheing of setups.  And we save
the environment in form we can use xargs and env to restore.

We use a conventional with-lock-ex and stamp file pattern for the
cache.  The IMPORT file (containing shell variables) doubles as the
stamp.

The setup execution rune is exciting.  This mostly results from the
fact that we want xargs to pass all the env vars to env, and that
xargs cannot be persuaded to append fixed arguments to the arguments
read from its input file.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
tests/lib