From efbb3887e0a976e9cea2ba59e359583a12f64e31 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 6 Jan 2015 15:49:19 -0500 Subject: 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 --- test-requirements-py2.txt | 1 + test-requirements-py3.txt | 1 + tools/pretty_tox.sh | 11 +++++++++++ tox.ini | 3 ++- 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100755 tools/pretty_tox.sh 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 -- cgit v1.2.1