We want to be sure this test script gets built regularly to avoid
breakage during refactors. In order to do so, build it as part of the
integration test suite.
We have used 'make' in the testing directory 't' to help run integration
tests, including starting and stopping a Git LFS test server, and
environmental setup bits.
We do so by writing a recipe that matches all testing files that we'd
want to run, and then running commands based on which one we picked.
Since we don't generate a file that was missing when running one of
these sources, 'make' will say that the file is up-to-date, unless we
run with 'make -B' (to force a re-make).
This is annoying to type, and can be avoided by marking the test targets
as .PHONY, indicating that they don't produce a file, and are instead
synthetic targets that can be run repeatedly without `make`'s up-to-date
checking.
In preparation to mark test sources as .PHONY, let's keep track of a
list of them so that we can eventually write:
.PHONY : $(TEST_SRCS)
In the meantime, we'll replace the pattern "./t-%.sh", which will not
introduce a meaningful behavior change.
On TravisCI, the default shell is '/bin/sh', and the library scripts in
t require Bash.
Since TravisCI's login shell cannot be changed, run the setup/shutdown
hack using bash -c.