From 2c06bcd23411c3fa838ed27acbc13226ea6bbb26 Mon Sep 17 00:00:00 2001 From: "Walter A. Boring IV" Date: Tue, 14 May 2019 17:59:45 +0000 Subject: [PATCH] Migrate from nose to pytest This patch migrates all of the unit tests to use the pytest mechanism from nose. nose and nosetests are long dead and no longer supported. --- .gitignore | 3 +++ setup.cfg | 10 ++++++++++ setup.py | 3 ++- test-requirements-py3.txt | 5 +++-- test-requirements.txt | 5 +++-- test/HPE3ParClient_base.py | 2 +- test/test_HPE3ParClient_FilePersona.py | 2 +- test/test_HPE3ParClient_FilePersona_Mock.py | 2 +- test/test_HPE3ParClient_VLUN.py | 2 +- test/test_HPE3ParClient_system.py | 2 +- test/test_HPE3ParClient_volume.py | 2 +- tox.ini | 10 +++++++--- 12 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 setup.cfg diff --git a/.gitignore b/.gitignore index f65b1ef8..d40e44bd 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,7 @@ docs/html test_bogus_known_hosts_file .coverage cover +htmlcov +paramiko_server.log +.eggs test/tpdinterface/interface.save diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..e4cf569a --- /dev/null +++ b/setup.cfg @@ -0,0 +1,10 @@ +[aliases] +test=pytest + +[tool:pytest] +addopts = --verbose --tc-file=config.ini --ignore-glob=samples/* +python_files = test_*.py + +[tool:pytest:cover] +addopts = --verbose --tc-file=config.ini --ignore-glob=samples/* --workers=3 +python_files = test_*.py diff --git a/setup.py b/setup.py index 51698997..a7bdce95 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,8 @@ keywords=["hpe", "3par", "rest"], requires=['paramiko', 'eventlet', 'requests'], install_requires=['paramiko', 'eventlet', 'requests'], - tests_require=["nose", "werkzeug", "nose-testconfig", "requests"], + tests_require=["pytest", "pytest-runner", "pytest-testconfig", + "flask", "werkzeug", "requests", "pytest-cov"], license="Apache License, Version 2.0", packages=find_packages(), provides=['hpe3parclient'], diff --git a/test-requirements-py3.txt b/test-requirements-py3.txt index b131854f..8cdd4e99 100644 --- a/test-requirements-py3.txt +++ b/test-requirements-py3.txt @@ -1,5 +1,6 @@ -nose -nose-testconfig +pytest +pytest-testconfig +pytest-cov flask flake8==3.5.0 mock diff --git a/test-requirements.txt b/test-requirements.txt index b131854f..8cdd4e99 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,5 +1,6 @@ -nose -nose-testconfig +pytest +pytest-testconfig +pytest-cov flask flake8==3.5.0 mock diff --git a/test/HPE3ParClient_base.py b/test/HPE3ParClient_base.py index 71168811..468f2fae 100644 --- a/test/HPE3ParClient_base.py +++ b/test/HPE3ParClient_base.py @@ -20,7 +20,7 @@ import subprocess import time import inspect -from testconfig import config +from pytest_testconfig import config import datetime from functools import wraps from hpe3parclient import client, file_client diff --git a/test/test_HPE3ParClient_FilePersona.py b/test/test_HPE3ParClient_FilePersona.py index c171bf80..d2544db0 100644 --- a/test/test_HPE3ParClient_FilePersona.py +++ b/test/test_HPE3ParClient_FilePersona.py @@ -19,7 +19,7 @@ import time import unittest -from testconfig import config +from pytest_testconfig import config from functools import wraps from test import HPE3ParClient_base as hpe3parbase diff --git a/test/test_HPE3ParClient_FilePersona_Mock.py b/test/test_HPE3ParClient_FilePersona_Mock.py index e24e7109..e241a793 100644 --- a/test/test_HPE3ParClient_FilePersona_Mock.py +++ b/test/test_HPE3ParClient_FilePersona_Mock.py @@ -17,7 +17,7 @@ import mock import pprint -from testconfig import config +from pytest_testconfig import config from test import HPE3ParClient_base as hpe3parbase from hpe3parclient import exceptions diff --git a/test/test_HPE3ParClient_VLUN.py b/test/test_HPE3ParClient_VLUN.py index ca48db6a..189cbcd0 100644 --- a/test/test_HPE3ParClient_VLUN.py +++ b/test/test_HPE3ParClient_VLUN.py @@ -18,7 +18,7 @@ import random import mock import unittest -from testconfig import config +from pytest_testconfig import config from hpe3parclient import client from hpe3parclient import exceptions diff --git a/test/test_HPE3ParClient_system.py b/test/test_HPE3ParClient_system.py index 2afbf055..46bd2fe6 100644 --- a/test/test_HPE3ParClient_system.py +++ b/test/test_HPE3ParClient_system.py @@ -14,7 +14,7 @@ """Test class of 3PAR Client System Level APIS.""" -from testconfig import config +from pytest_testconfig import config import unittest from test import HPE3ParClient_base as hpe3parbase diff --git a/test/test_HPE3ParClient_volume.py b/test/test_HPE3ParClient_volume.py index c38b38bf..9f99ae4b 100644 --- a/test/test_HPE3ParClient_volume.py +++ b/test/test_HPE3ParClient_volume.py @@ -16,7 +16,7 @@ import time import unittest -from testconfig import config +from pytest_testconfig import config from test import HPE3ParClient_base as hpe3parbase from hpe3parclient import exceptions diff --git a/tox.ini b/tox.ini index 4de1af63..b39ddc4f 100644 --- a/tox.ini +++ b/tox.ini @@ -11,13 +11,13 @@ install_command = pip install {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = - nosetests --tc-file={toxinidir}/config.ini -v {posargs} + pytest {posargs} [testenv:cover] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = - nosetests --with-coverage --cover-package=hpe3parclient --cover-html --tc-file={toxinidir}/config.ini -v {posargs} + pytest --cov-report html --cov-report term --cov=hpe3parclient [testenv:docs] deps = -r{toxinidir}/test-requirements.txt @@ -27,7 +27,11 @@ commands = sphinx-build -b html docs docs/html commands = flake8 {posargs} hpe3parclient test -[testenv:py34] +[testenv:py36] +deps = -r{toxinidir}/requirements-py3.txt + -r{toxinidir}/test-requirements-py3.txt + +[testenv:py37] deps = -r{toxinidir}/requirements-py3.txt -r{toxinidir}/test-requirements-py3.txt