From cf15d5a9deebca0b238a92da5e85241b8d78d3cf Mon Sep 17 00:00:00 2001 From: Mehdi Abaakouk Date: Fri, 28 Apr 2017 10:27:12 +0200 Subject: [PATCH] tests: simplify tox config This runs most of the functional tests in the normal tox target. (all except those tagged live). Change-Id: Icf69ff743ba223c1b08abe858f567babfaaa64cf --- .../functional/api/v2/test_alarm_scenarios.py | 4 +- bindep.txt | 5 ++ run-tests.sh | 7 +++ tools/pretty_tox.sh | 6 +-- tox.ini | 46 +++++++------------ 5 files changed, 33 insertions(+), 35 deletions(-) create mode 100644 bindep.txt create mode 100755 run-tests.sh diff --git a/aodh/tests/functional/api/v2/test_alarm_scenarios.py b/aodh/tests/functional/api/v2/test_alarm_scenarios.py index b128e3bf6..d89dd894b 100644 --- a/aodh/tests/functional/api/v2/test_alarm_scenarios.py +++ b/aodh/tests/functional/api/v2/test_alarm_scenarios.py @@ -2877,8 +2877,8 @@ class TestAlarmsCompositeRule(TestAlarmsBase): expect_errors=True, headers=self.auth_headers) faultstring = ("Invalid input for field/attribute threshold. " - "Value: 'False'. Wrong type. Expected '', got ''") + "Value: 'False'. Wrong type. Expected '%s', got '%s'" + % (type(1.0), type(True))) self.assertEqual(faultstring, response.json['error_message']['faultstring']) diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 000000000..70f6bbe5a --- /dev/null +++ b/bindep.txt @@ -0,0 +1,5 @@ +libpq-dev [platform:dpkg] +postgresql [platform:dpkg] +mysql-client [platform:dpkg] +mysql-server [platform:dpkg] +gettext [platform:dpkg] diff --git a/run-tests.sh b/run-tests.sh new file mode 100755 index 000000000..b0484761a --- /dev/null +++ b/run-tests.sh @@ -0,0 +1,7 @@ +#!/bin/bash -x +set -e +AODH_TEST_DRIVERS=${AODH_TEST_DRIVERS:-postgresql} +for indexer in ${AODH_TEST_DRIVERS} +do + pifpaf -g AODH_TEST_STORAGE_URL run $indexer -- ./tools/pretty_tox.sh $* +done diff --git a/tools/pretty_tox.sh b/tools/pretty_tox.sh index 799ac1848..b96dc3f24 100755 --- a/tools/pretty_tox.sh +++ b/tools/pretty_tox.sh @@ -2,7 +2,7 @@ set -o pipefail -TESTRARGS=$1 +TESTRARGS=$* # --until-failure is not compatible with --subunit see: # @@ -10,7 +10,7 @@ TESTRARGS=$1 # # this work around exists until that is addressed if [[ "$TESTARGS" =~ "until-failure" ]]; then - python setup.py testr --slowest --testr-args="$TESTRARGS" + ostestr --slowest $TESTRARGS else - python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | subunit-trace -f + ostestr --no-pretty --slowest --subunit $TESTRARGS | subunit-trace -f fi diff --git a/tox.ini b/tox.ini index 998a5c4f8..b6ef5cd0c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,32 +1,28 @@ [tox] minversion = 1.6 skipsdist = True -envlist = py35,py27,pep8 +envlist = py{27,35}{,-mysql,-postgresql,-pgsql},functional,pep8 [testenv] -deps = .[test] # NOTE(tonyb): This project has chosen to *NOT* consume upper-constraints.txt -install_command = pip install -U {opts} {packages} usedevelop = True -setenv = VIRTUAL_ENV={envdir} - OS_TEST_PATH=aodh/tests/unit -passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE +setenv = + AODH_TEST_DRIVERS=postgresql mysql + mysql: AODH_TEST_DRIVERS=mysql + postgresql: AODH_TEST_DRIVERS=postgresql + + AODH_TEST_DEPS=postgresql,mysql + mysql: AODH_TEST_DEPS=mysql + postgresql: AODH_TEST_DEPS=postgresql + + # TODO(sileht): Remove when infra job are removed + pgsql: AODH_TEST_DRIVERS=postgresql + pgsql: AODH_TEST_DEPS=postgresql +deps = .[test,{env:AODH_TEST_DEPS}] +passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE AODH_TEST_DRIVERS commands = - python setup.py testr --slowest --testr-args="{posargs}" + {toxinidir}/run-tests.sh --black-regex '^aodh\.tests\.tempest\..*$' {posargs} oslo-config-generator --config-file=etc/aodh/aodh-config-generator.conf -whitelist_externals = bash - -[testenv:py27-mysql] -deps = .[mysql,test] -setenv = OS_TEST_PATH=aodh/tests/functional/ -commands = - pifpaf -g AODH_TEST_STORAGE_URL run mysql -- python setup.py testr --slowest --testr-args="{posargs}" - -[testenv:py27-pgsql] -deps = .[postgresql,test] -setenv = OS_TEST_PATH=aodh/tests/functional/ -commands = - pifpaf -g AODH_TEST_STORAGE_URL run postgresql -- python setup.py testr --slowest --testr-args="{posargs}" [testenv:functional] deps = .[mysql,postgresql,test] @@ -37,16 +33,6 @@ passenv = {[testenv]passenv} AODH_* commands = {toxinidir}/run-functional-tests.sh ./tools/pretty_tox.sh "{posargs}" -# NOTE(chdent): The gabbi tests are also run under the primary tox -# targets. This target simply provides a target to directly run just -# gabbi tests without needing to discovery across the entire body of -# tests. -[testenv:gabbi] -deps = .[mysql,test] -setenv = OS_TEST_PATH=aodh/tests/functional/gabbi -commands = - pifpaf -g AODH_TEST_STORAGE_URL run mysql -- python setup.py testr --testr-args="{posargs}" - [testenv:cover] commands = pifpaf -g AODH_TEST_STORAGE_URL run mysql -- python setup.py testr --slowest --coverage --testr-args="{posargs}"