summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmma Foley <emma.l.foley@intel.com>2017-11-07 20:29:03 +0000
committerEmma Foley <emma.l.foley@intel.com>2017-11-17 17:19:12 +0000
commit29476ed0317dcc635dff67d2fc9fd68233aa6656 (patch)
treecd389611cc1f2157b2d653dd834d39b1234a0586
parent44070670c798d2cde2824f3150b2b11bf35c6319 (diff)
tox: Split tests into separate tox environments
* Add argument parsing to run_tests.sh so tests can be selected * Define tox environments for: * Coverage * Unit tests * Functional tests * for py27 and py3 * Add environments to default env * Behaviour is the same when the tests are run * Updates the py27 environment config, and adds a py3 config. * Commands from testenv are moved to py27 * py3 env uses the same commands, but runs with python3 Change-Id: I22f17c0103101f01ec268b1de9d146780ae67a6d JIRA: YARDSTICK-837 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
-rwxr-xr-xrun_tests.sh29
-rw-r--r--tox.ini25
2 files changed, 40 insertions, 14 deletions
diff --git a/run_tests.sh b/run_tests.sh
index 097935890..dda760218 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -9,9 +9,10 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# Run yardstick's flake8, unit, coverage, functional test
+# Run yardstick's unit, coverage, functional test
getopts ":f" FILE_OPTION
+opts=$@ # get other args
# don't write .pyc files this can cause odd unittest results
export PYTHONDONTWRITEBYTECODE=1
@@ -45,11 +46,8 @@ run_tests() {
}
run_coverage() {
- # don't re-run coverage on both py27 py3, it takes too long
- if [[ -z $SKIP_COVERAGE ]] ; then
- source $COVER_DIR_NAME/cover.sh
- run_coverage_test
- fi
+ source $COVER_DIR_NAME/cover.sh
+ run_coverage_test
}
run_functional_test() {
@@ -68,7 +66,20 @@ run_functional_test() {
fi
}
+if [[ $opts =~ "--unit" ]]; then
+ run_tests
+fi
+
+if [[ $opts =~ "--coverage" ]]; then
+ run_coverage
+fi
+
+if [[ $opts =~ "--functional" ]]; then
+ run_functional_test
+fi
-run_tests
-run_coverage
-run_functional_test
+if [[ -z $opts ]]; then
+ echo "No tests to run!!"
+ echo "Usage: run_tests.sh [--unit] [--coverage] [--functional]"
+ exit 1
+fi
diff --git a/tox.ini b/tox.ini
index 882543d0c..ed2fd4a7d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,7 @@
[tox]
minversion = 2.0
skipsdist = True
-envlist = py27,py3,pep8
+envlist = py{27,3},pep8,functional{,-py3},coverage
[testenv]
usedevelop=True
@@ -9,13 +9,15 @@ passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-commands = /bin/bash ./run_tests.sh
whitelist_externals = /bin/bash
[testenv:py27]
-# don't re-run coverage on both py27 py3, it takes too long
-setenv =
- SKIP_COVERAGE=1
+commands =
+ /bin/bash ./run_tests.sh --unit
+
+[testenv:py3]
+basepython = python3
+commands = {[testenv:py27]commands}
[testenv:pep8]
# for gate testing, scans only the files changed in the last commit
@@ -27,6 +29,19 @@ commands =
commands =
/bin/bash tools/coding-checks.sh --pylint '{posargs}'
+[testenv:coverage]
+basepython = python3
+commands =
+ /bin/bash ./run_tests.sh --coverage
+
+[testenv:functional]
+commands =
+ /bin/bash ./run_tests.sh --functional
+
+[testenv:functional-py3]
+basepython = python3
+commands = {[testenv:functional]commands}
+
[testenv:os-requirements]
commands =
python {toxinidir}/tools/os-requirements-check.py {envdir}