summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-01-06 15:49:19 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-01-06 17:57:50 -0500
commitefbb3887e0a976e9cea2ba59e359583a12f64e31 (patch)
treef507df8ddd3644ff1d9502407ad8f399d0bb8227
parent98b434db7d1b52aee32782065df155988918cc3f (diff)
downloadoslo-db-efbb3887e0a976e9cea2ba59e359583a12f64e31.tar.gz
Add pretty_tox wrapper script
This ports Nova/Neutron's'(and others) "pretty tox" script into tools/ and establishes it within tox.ini. This causes a vanilla test run to output the full package names of all tests, the index of the subprocess it's being run within, as well as the total run time and status of each test. It also captures stdout/stderr and reports on that as well; revealing that oslo.db's tests have a lot of deprecation warnings in fact. The display of this runner shows a lot more information than the default testr/subunit thing which is somewhat useless, and for those who are actually watching the test output, this is what we'd most like to see. Pretty Tox. Pretty please, can we have? Change-Id: I50d1c6e998425964dd9a5497c2bc1e9145be3120
-rw-r--r--test-requirements-py2.txt1
-rw-r--r--test-requirements-py3.txt1
-rwxr-xr-xtools/pretty_tox.sh11
-rw-r--r--tox.ini3
4 files changed, 15 insertions, 1 deletions
diff --git a/test-requirements-py2.txt b/test-requirements-py2.txt
index ac5c18a..2cb1c75 100644
--- a/test-requirements-py2.txt
+++ b/test-requirements-py2.txt
@@ -17,3 +17,4 @@ oslotest>=1.2.0 # Apache-2.0
testrepository>=0.0.18
testscenarios>=0.4
testtools>=0.9.36,!=1.2.0
+tempest-lib
diff --git a/test-requirements-py3.txt b/test-requirements-py3.txt
index 58b9a3d..d248785 100644
--- a/test-requirements-py3.txt
+++ b/test-requirements-py3.txt
@@ -16,6 +16,7 @@ oslotest>=1.2.0 # Apache-2.0
testrepository>=0.0.18
testscenarios>=0.4
testtools>=0.9.36,!=1.2.0
+tempest-lib
# TODO(harlowja): add in pymysql when able to...
# https://review.openstack.org/#/c/123737
diff --git a/tools/pretty_tox.sh b/tools/pretty_tox.sh
new file mode 100755
index 0000000..b9fd556
--- /dev/null
+++ b/tools/pretty_tox.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+# return nonzero exit status of rightmost command, so that we
+# get nonzero exit on test failure without halting subunit-trace
+set -o pipefail
+
+
+TESTRARGS=$1
+
+python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | subunit-trace -f
+
diff --git a/tox.ini b/tox.ini
index 7911116..3d20640 100644
--- a/tox.ini
+++ b/tox.ini
@@ -9,12 +9,13 @@ envlist = py26,py27,py33,py34,pep8
# NOTE(dhellmann): We cannot set usedevelop=True
# for oslo libraries because of the namespace package.
#usedevelop = True
+whitelist_externals = bash
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements-py2.txt
-commands = python setup.py testr --slowest --testr-args='{posargs}'
+commands = bash tools/pretty_tox.sh '{posargs}'
[testenv:sqla_09]
commands = pip install SQLAlchemy>=0.9.0,!=0.9.5,<1.0.0