From ec34ed056f2020cb87d605dacedc2253b34133ef Mon Sep 17 00:00:00 2001 From: Felipe Monteiro Date: Wed, 17 Oct 2018 20:40:32 +0100 Subject: [PATCH] Allow tox to support regexes for unit tests This patch set adds a shell wrapper script to allow tox to be used to run a subset of unit tests via regexes: To run all unit tests, execute:: $ tox -epy35 To run unit tests using a regex, execute:: $ tox -epy35 -- Change-Id: I2ba1e18226d686cb549a075e020ba02e24204829 --- doc/source/developer-overview.rst | 11 +++++++++++ tools/gate/run-unit-tests.sh | 10 ++++++++++ tox.ini | 3 +-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100755 tools/gate/run-unit-tests.sh diff --git a/doc/source/developer-overview.rst b/doc/source/developer-overview.rst index 1e69df9d..c4c2671d 100644 --- a/doc/source/developer-overview.rst +++ b/doc/source/developer-overview.rst @@ -124,6 +124,17 @@ All Pegleg tests are nested under ``tests``. Pegleg comes equipped with a number of `tox`_ targets for running unit tests, as well as `pep8`_ and `Bandit`_ checks. +Unit Tests +---------- + +To run all unit tests, execute:: + + $ tox -epy35 + +To run unit tests using a regex, execute:: + + $ tox -epy35 -- + .. _Airship: https://airshipit.readthedocs.io .. _Deckhand: https://airship-deckhand.readthedocs.io/ .. _Airship coding conventions: https://airshipit.readthedocs.io/en/latest/conventions.html diff --git a/tools/gate/run-unit-tests.sh b/tools/gate/run-unit-tests.sh new file mode 100755 index 00000000..15042fe8 --- /dev/null +++ b/tools/gate/run-unit-tests.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -e +posargs=$@ +if [ ${#posargs} -ge 1 ]; then + pytest -k ${posargs} +else + pytest +fi +set +e diff --git a/tox.ini b/tox.ini index da840ed2..c4db8da4 100644 --- a/tox.ini +++ b/tox.ini @@ -18,8 +18,7 @@ whitelist_externals = find commands = find . -type f -name "*.pyc" -delete - pytest \ - {posargs} + {toxinidir}/tools/gate/run-unit-tests.sh '{posargs}' [testenv:fmt] basepython=python3