Set pipefail for wrapper scripts
Previously if the testr list command was failing subunit2py would return a 0 making the test runs that use the pretty_tox scripts also return 0 despite testr actually failing. This commit gets around this condition by setting pipefail in the pretty_tox scripts to ensure that we actually fail. Change-Id: I9cbaf83cfea7c02133b27fe639e7ea12edb48f7e
This commit is contained in:
parent
451730d9ce
commit
1ee4398ade
@ -56,7 +56,7 @@ class TestWrappers(base.TestCase):
|
|||||||
# version or an sdist to work. so make the test directory a git repo
|
# version or an sdist to work. so make the test directory a git repo
|
||||||
# too.
|
# too.
|
||||||
subprocess.call(['git', 'init'])
|
subprocess.call(['git', 'init'])
|
||||||
exit_code = subprocess.call('sh pretty_tox.sh tests.passing',
|
exit_code = subprocess.call('bash pretty_tox.sh tests.passing',
|
||||||
shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
||||||
self.assertEqual(exit_code, 0)
|
self.assertEqual(exit_code, 0)
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ class TestWrappers(base.TestCase):
|
|||||||
# version or an sdist to work. so make the test directory a git repo
|
# version or an sdist to work. so make the test directory a git repo
|
||||||
# too.
|
# too.
|
||||||
subprocess.call(['git', 'init'])
|
subprocess.call(['git', 'init'])
|
||||||
exit_code = subprocess.call('sh pretty_tox.sh', shell=True,
|
exit_code = subprocess.call('bash pretty_tox.sh', shell=True,
|
||||||
stdout=DEVNULL, stderr=DEVNULL)
|
stdout=DEVNULL, stderr=DEVNULL)
|
||||||
self.assertEqual(exit_code, 1)
|
self.assertEqual(exit_code, 1)
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ class TestWrappers(base.TestCase):
|
|||||||
# Change directory, run wrapper and check result
|
# Change directory, run wrapper and check result
|
||||||
self.addCleanup(os.chdir, os.path.abspath(os.curdir))
|
self.addCleanup(os.chdir, os.path.abspath(os.curdir))
|
||||||
os.chdir(self.directory)
|
os.chdir(self.directory)
|
||||||
exit_code = subprocess.call('sh pretty_tox_serial.sh tests.passing',
|
exit_code = subprocess.call('bash pretty_tox_serial.sh tests.passing',
|
||||||
shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
shell=True, stdout=DEVNULL, stderr=DEVNULL)
|
||||||
self.assertEqual(exit_code, 0)
|
self.assertEqual(exit_code, 0)
|
||||||
|
|
||||||
@ -93,6 +93,6 @@ class TestWrappers(base.TestCase):
|
|||||||
# Change directory, run wrapper and check result
|
# Change directory, run wrapper and check result
|
||||||
self.addCleanup(os.chdir, os.path.abspath(os.curdir))
|
self.addCleanup(os.chdir, os.path.abspath(os.curdir))
|
||||||
os.chdir(self.directory)
|
os.chdir(self.directory)
|
||||||
exit_code = subprocess.call('sh pretty_tox_serial.sh', shell=True,
|
exit_code = subprocess.call('bash pretty_tox_serial.sh', shell=True,
|
||||||
stdout=DEVNULL, stderr=DEVNULL)
|
stdout=DEVNULL, stderr=DEVNULL)
|
||||||
self.assertEqual(exit_code, 1)
|
self.assertEqual(exit_code, 1)
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
TESTRARGS=$1
|
TESTRARGS=$1
|
||||||
python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | subunit2pyunit
|
python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | subunit2pyunit
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
TESTRARGS=$@
|
TESTRARGS=$@
|
||||||
|
|
||||||
|
10
tox.ini
10
tox.ini
@ -31,19 +31,19 @@ sitepackages = True
|
|||||||
# The regex below is used to select which tests to run and exclude the slow tag:
|
# The regex below is used to select which tests to run and exclude the slow tag:
|
||||||
# See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
# See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
||||||
commands =
|
commands =
|
||||||
sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
||||||
|
|
||||||
[testenv:testr-full]
|
[testenv:testr-full]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
commands =
|
commands =
|
||||||
sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
|
||||||
|
|
||||||
[testenv:heat-slow]
|
[testenv:heat-slow]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
setenv = OS_TEST_TIMEOUT=1200
|
setenv = OS_TEST_TIMEOUT=1200
|
||||||
# The regex below is used to select heat api/scenario tests tagged as slow.
|
# The regex below is used to select heat api/scenario tests tagged as slow.
|
||||||
commands =
|
commands =
|
||||||
sh tools/pretty_tox_serial.sh '(?=.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)\.orchestration) {posargs}'
|
bash tools/pretty_tox_serial.sh '(?=.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)\.orchestration) {posargs}'
|
||||||
|
|
||||||
[testenv:large-ops]
|
[testenv:large-ops]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
@ -79,7 +79,7 @@ commands =
|
|||||||
[testenv:smoke]
|
[testenv:smoke]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
commands =
|
commands =
|
||||||
sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
|
bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
|
||||||
|
|
||||||
[testenv:smoke-serial]
|
[testenv:smoke-serial]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
@ -87,7 +87,7 @@ sitepackages = True
|
|||||||
# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
|
# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
|
||||||
# job would fail if we moved it to parallel.
|
# job would fail if we moved it to parallel.
|
||||||
commands =
|
commands =
|
||||||
sh tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
|
bash tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
|
||||||
|
|
||||||
[testenv:stress]
|
[testenv:stress]
|
||||||
sitepackages = True
|
sitepackages = True
|
||||||
|
Loading…
Reference in New Issue
Block a user