diff --git a/.gitignore b/.gitignore index 16da5895..af50ddda 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ dist/ .DS_Store *.log .testrepository +.stestr/ subunit.log build swiftclient/versioninfo diff --git a/.stestr.conf b/.stestr.conf new file mode 100644 index 00000000..5228f209 --- /dev/null +++ b/.stestr.conf @@ -0,0 +1,4 @@ +[DEFAULT] +test_path=${OS_TEST_PATH:-./tests/unit} +top_dir=./ + diff --git a/.testr.conf b/.testr.conf deleted file mode 100644 index f3fca908..00000000 --- a/.testr.conf +++ /dev/null @@ -1,4 +0,0 @@ -[DEFAULT] -test_command=${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tests/unit} $LISTOPT $IDOPTION -test_id_option=--load-list $IDFILE -test_list_option=--list diff --git a/lower-constraints.txt b/lower-constraints.txt index 9aae7927..fefb90ac 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -39,7 +39,7 @@ six==1.9.0 snowballstemmer==1.2.1 sphinx==1.6.2 sphinxcontrib-websupport==1.0.1 -testrepository==0.0.18 +stestr==2.0.0 testtools==2.2.0 traceback2==1.4.0 unittest2==1.1.0 diff --git a/test-requirements.txt b/test-requirements.txt index 634851e7..9e6b84a9 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5,6 +5,6 @@ keystoneauth1>=3.4.0 # Apache-2.0 mock>=1.2.0 # BSD oslosphinx>=4.7.0 # Apache-2.0 sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD -testrepository>=0.0.18 +stestr>=2.0.0 # Apache-2.0 reno>=2.5.0 # Apache-2.0 openstackdocstheme>=1.18.1 # Apache-2.0 diff --git a/tox.ini b/tox.ini index ed8d772e..26f8767e 100644 --- a/tox.ini +++ b/tox.ini @@ -16,8 +16,8 @@ deps = -r{toxinidir}/requirements.txt .[keystone] commands = sh -c '(find . -not \( -type d -name .?\* -prune \) \ \( -type d -name "__pycache__" -or -type f -name "*.py[co]" \) \ - -print0; find . -name "*.dbm*" -print0) | xargs -0 rm -rf' - python setup.py testr --testr-args="{posargs}" + -print0) | xargs -0 rm -rf' + stestr run {posargs} whitelist_externals = sh passenv = SWIFT_* *_proxy @@ -32,17 +32,28 @@ commands = {posargs} [testenv:cover] basepython = python3 -commands = python setup.py testr --coverage - coverage report +setenv = + PYTHON=coverage run --source swiftclient --parallel-mode +commands = + stestr run + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml + coverage report [testenv:func] basepython = python3 -setenv = OS_TEST_PATH=tests.functional +setenv = + OS_TEST_PATH=tests.functional + PYTHON=coverage run --source swiftclient --parallel-mode whitelist_externals = coverage rm commands = - python setup.py testr --coverage --testr-args="--concurrency=1" + stestr run --concurrency=1 + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml coverage report -m rm -f .coverage