[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Stopping unit test on failed partial ordering dependency
From: |
Kip Warner |
Subject: |
Re: Stopping unit test on failed partial ordering dependency |
Date: |
Tue, 23 Apr 2019 19:20:09 -0700 |
User-agent: |
Evolution 3.32.1-2 |
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