From f5f4948480334b567a968fb37c97b0110b3edb69 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 19 Mar 2019 18:36:45 -0700 Subject: [PATCH] Remove nose from unittests (#54055) * Remove nose from unittests This PR migrates the last of our unittests from using nose to using pytest. We don't need to install nose in our testing environments anymore --- .../community/documentation_contributions.rst | 21 ++++++++----------- test/runner/requirements/units.txt | 1 - .../test_validate_modules_regex.py | 4 ++-- .../network/f5/test_bigip_gtm_facts.py | 12 ++++++++--- .../f5/test_bigip_security_address_list.py | 8 ++++--- .../f5/test_bigip_security_port_list.py | 8 ++++--- 6 files changed, 30 insertions(+), 24 deletions(-) diff --git a/docs/docsite/rst/community/documentation_contributions.rst b/docs/docsite/rst/community/documentation_contributions.rst index 84ddb2d8a3e..9558ed32267 100644 --- a/docs/docsite/rst/community/documentation_contributions.rst +++ b/docs/docsite/rst/community/documentation_contributions.rst @@ -62,18 +62,15 @@ If you make multiple changes to the documentation, or add more than a line to it To work with documentation on your local machine, you need the following packages installed: -.. code-block:: none - - - libyaml - - PyYAML - - nose - - six - - tornado - - pyparsing - - gcc - - jinja2 - - rstcheck - - sphinx +- libyaml +- PyYAML +- six +- tornado +- pyparsing +- gcc +- jinja2 +- rstcheck +- sphinx .. note:: diff --git a/test/runner/requirements/units.txt b/test/runner/requirements/units.txt index 1544b20b622..8b1f167369b 100644 --- a/test/runner/requirements/units.txt +++ b/test/runner/requirements/units.txt @@ -4,7 +4,6 @@ cryptography pycrypto jinja2 mock -nose passlib pytest pytest-mock diff --git a/test/sanity/validate-modules/test_validate_modules_regex.py b/test/sanity/validate-modules/test_validate_modules_regex.py index f1c00c54e5f..2227ec1385e 100644 --- a/test/sanity/validate-modules/test_validate_modules_regex.py +++ b/test/sanity/validate-modules/test_validate_modules_regex.py @@ -6,10 +6,10 @@ # To execute this by hand: # 1) cd # 2) source hacking/env-setup -# 3) PYTHONPATH=./lib nosetests -d -w test -v --nocapture sanity/validate-modules +# 3) PYTHONPATH=./lib pytest -v sanity/validate-modules import re -from ansible.compat.tests import unittest +import unittest # TYPE_REGEX = re.compile(r'.*\stype\(.*') # TYPE_REGEX = re.compile(r'.*(if|or)\stype\(.*') diff --git a/test/units/modules/network/f5/test_bigip_gtm_facts.py b/test/units/modules/network/f5/test_bigip_gtm_facts.py index 8f0fb3f9c56..8472bec4ab0 100644 --- a/test/units/modules/network/f5/test_bigip_gtm_facts.py +++ b/test/units/modules/network/f5/test_bigip_gtm_facts.py @@ -10,9 +10,12 @@ import os import json import sys -from nose.plugins.skip import SkipTest +import pytest + +pytestmark = [] + if sys.version_info < (2, 7): - raise SkipTest("F5 Ansible modules require Python >= 2.7") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require Python >= 2.7")) from units.compat import unittest from units.compat.mock import Mock @@ -60,7 +63,10 @@ except ImportError: from f5.utils.responses.handlers import Stats from units.modules.utils import set_module_args except ImportError: - raise SkipTest("F5 Ansible modules require the f5-sdk Python library") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require the f5-sdk Python library")) + # pytestmark will cause this test to skip but we have to define A so that classes can be + # defined below + A = object fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') fixture_data = {} diff --git a/test/units/modules/network/f5/test_bigip_security_address_list.py b/test/units/modules/network/f5/test_bigip_security_address_list.py index 7e67018382d..fb1ee497f4b 100644 --- a/test/units/modules/network/f5/test_bigip_security_address_list.py +++ b/test/units/modules/network/f5/test_bigip_security_address_list.py @@ -11,9 +11,10 @@ import json import pytest import sys -from nose.plugins.skip import SkipTest +pytestmark = [] + if sys.version_info < (2, 7): - raise SkipTest("F5 Ansible modules require Python >= 2.7") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require Python >= 2.7")) from units.compat import unittest from units.compat.mock import Mock @@ -38,7 +39,8 @@ except ImportError: from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError from units.modules.utils import set_module_args except ImportError: - raise SkipTest("F5 Ansible modules require the f5-sdk Python library") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require the f5-sdk Python library")) + fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') fixture_data = {} diff --git a/test/units/modules/network/f5/test_bigip_security_port_list.py b/test/units/modules/network/f5/test_bigip_security_port_list.py index 0dac2fb8c03..aa41f7825db 100644 --- a/test/units/modules/network/f5/test_bigip_security_port_list.py +++ b/test/units/modules/network/f5/test_bigip_security_port_list.py @@ -11,9 +11,10 @@ import json import pytest import sys -from nose.plugins.skip import SkipTest +pytestmark = [] + if sys.version_info < (2, 7): - raise SkipTest("F5 Ansible modules require Python >= 2.7") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require Python >= 2.7")) from units.compat import unittest from units.compat.mock import Mock @@ -38,7 +39,8 @@ except ImportError: from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError from units.modules.utils import set_module_args except ImportError: - raise SkipTest("F5 Ansible modules require the f5-sdk Python library") + pytestmark.append(pytest.mark.skip("F5 Ansible modules require the f5-sdk Python library")) + fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') fixture_data = {}