Monkey-patch beakerlib to fail on first assert
Beakerlib upstream can't do this yet, but might at some point: https://github.com/beakerlib/beakerlib/issues/42 This is only enabled in combination with the `--sit` option of the `test/check-*` scripts. It leaves the system in exacly the state it was in when an assertion failed. Finishing the test run would run cleanup as well (such as deleting created images). It also takes longer.
This commit is contained in:
parent
a4dcc34396
commit
42c7c0691c
@ -76,9 +76,14 @@ class ComposerTestCase(unittest.TestCase):
|
||||
return subprocess.run(self.ssh_command + command, **args)
|
||||
|
||||
def runCliTest(self, script):
|
||||
extra_env = []
|
||||
if self.sit:
|
||||
extra_env.append("COMPOSER_TEST_FAIL_FAST=1")
|
||||
|
||||
r = self.execute(["CLI=/usr/bin/composer-cli",
|
||||
"TEST=" + self.id(),
|
||||
"PACKAGE=composer-cli",
|
||||
*extra_env,
|
||||
"/tests/test_cli.sh", script])
|
||||
self.assertEqual(r.returncode, 0)
|
||||
|
||||
|
@ -1,5 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Monkey-patch beakerlib to exit on first failure if COMPOSER_TEST_FAIL_FAST is
|
||||
# set. https://github.com/beakerlib/beakerlib/issues/42
|
||||
if [ "$COMPOSER_TEST_FAIL_FAST" == "1" ]; then
|
||||
eval "original$(declare -f __INTERNAL_LogAndJournalFail)"
|
||||
|
||||
__INTERNAL_LogAndJournalFail () {
|
||||
original__INTERNAL_LogAndJournalFail
|
||||
|
||||
# end test somewhat cleanly so that beakerlib logs the FAIL correctly
|
||||
rlPhaseEnd
|
||||
rlJournalEnd
|
||||
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
# a generic helper function unifying the specific checks executed on a running
|
||||
# image instance
|
||||
verify_image() {
|
||||
|
@ -4,6 +4,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
@ -12,6 +12,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
@ -12,6 +12,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
set -e
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
. $(dirname $0)/lib/lib.sh
|
||||
|
||||
CLI="${CLI:-./src/bin/composer-cli}"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user