On Tue, 2019-04-23 at 10:25 -0500, Bob Friesenhahn wrote: > On Mon, 22 Apr 2019, Kip Warner wrote: > > How can I solve this problem? > > By using the TAP test framework you could organize your related > tests into ordered scripts which assure that test > construction/destruction is orderly even if some tests fail. This > approach may lose parallelism if there are not enough independent TAP > tests to keep the system busy. TAP tests do need to produce the > expected number of test report messages, even if a prerequisite has > failed.
This is effectively what I'm doing in my Makefile.am: check_SCRIPTS = \ TestDatabaseSetup.sh \ TestStartDaemon.sh \ TestStopDaemon.sh \ TestDatabaseTeardown.sh check_PROGRAM S = \ TestQueryA \ TestQueryB \ TestQueryC \ TestQueryD TESTS = $(check_SCRIPTS) $(check_PROGRAMS) # Define aliases to logs to use in partial ordering... ordering_TestDatabaseSetup = TestDatabaseSetup.log ordering_TestStartDaemon = TestStartDaemon.log ordering_TestStopDaemon = TestStopDaemon.log ordering_TestDatabaseTeardown = TestDatabaseTeardown.log ordering_all_daemon_tests = \ ordering_TestQueryA.log \ ordering_TestQueryB.log \ ordering_TestQueryC.log \ ordering_TestQueryD.log # Declare some partial ordering... $(ordering_TestStartDaemon): $(ordering_TestDatabaseSetup) $(ordering_all_daemon_tests): $(ordering_TestStartDaemon) $(ordering_TestStopDaemon): $(ordering_all_daemon_tests) $(ordering_TestDatabaseTeardown): $(ordering_TestStopDaemon) Now suppose the TestStartDaemon.sh bails for some reason. There is no point on doing all the queries and having them all fail. There has to be a sane way of handling this scenario. -- Kip Warner | Senior Software Engineer OpenPGP signed/encrypted mail preferred https://www.thevertigo.com
signature.asc
Description: This is a digitally signed message part