[Freeipa-devel] [freeipa PR#475][synchronized] Add options to run only ipaclient unittests
URL: https://github.com/freeipa/freeipa/pull/475 Author: tiran Title: #475: Add options to run only ipaclient unittests Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/475/head:pr475 git checkout pr475 From e9a2ebd82cc4a3e612d068258bece9ddf202914f Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 17 Feb 2017 08:39:54 +0100 Subject: [PATCH] Add options to run only ipaclient unittests A new option for ipa-run-tests makes the test runner ignore subdirectories or skips tests that depend on the ipaserver package or on a running framework for RPC integration tests. The new option enables testing of client-only builds. $ ipatests/ipa-run-tests --ipaclient-unittests ... platform linux2 -- Python 2.7.13, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 rootdir: /home/heimes/redhat, inifile: tox.ini plugins: sourceorder-0.5, cov-2.3.0, betamax-0.7.1, multihost-1.1 collected 451 items test_util.py util.py .. test_ipaclient/test_csrgen.py ..... test_ipalib/test_aci.py ... test_ipalib/test_backend.py test_ipalib/test_base.py ... test_ipalib/test_capabilities.py . test_ipalib/test_cli.py ... test_ipalib/test_config.py ... test_ipalib/test_crud.py ... test_ipalib/test_errors.py ... test_ipalib/test_frontend.py test_ipalib/test_messages.py test_ipalib/test_output.py ... test_ipalib/test_parameters.py . test_ipalib/test_plugable.py test_ipalib/test_rpc.py .. test_ipalib/test_text.py . test_ipalib/test_x509.py ... test_ipapython/test_cookie.py test_ipapython/test_dn.py ... test_ipapython/test_ipautil.py .. test_ipapython/test_ipavalidate.py .. test_ipapython/test_kerberos.py .. test_ipapython/test_keyring.py .. test_ipapython/test_ssh.py ... test_pkcs10/test_pkcs10.py . https://fedorahosted.org/freeipa/ticket/6517 Signed-off-by: Christian Heimes --- ipatests/conftest.py | 63 +- ipatests/setup.py | 1 - ipatests/test_ipaclient/test_csrgen.py | 1 + ipatests/test_ipalib/test_rpc.py | 2 ++ ipatests/util.py | 15 ++-- 5 files changed, 78 insertions(+), 4 deletions(-) diff --git a/ipatests/conftest.py b/ipatests/conftest.py index 511d7b7..6c13e23 100644 --- a/ipatests/conftest.py +++ b/ipatests/conftest.py @@ -3,17 +3,26 @@ # from __future__ import print_function +import fnmatch import os import pprint +import re import sys +import pytest + from ipalib import api from ipalib.cli import cli_plugins try: +import ipaplatform +except ImportError: +ipaplatform = None +try: import ipaserver except ImportError: ipaserver = None +HERE = os.path.dirname(os.path.abspath(__file__)) pytest_plugins = [ 'ipatests.pytest_plugins.additional_config', @@ -31,6 +40,7 @@ 'tier1: functional API tests', 'cs_acceptance: Acceptance test suite for Dogtag Certificate Server', 'ds_acceptance: Acceptance test suite for 389 Directory Server', +'skip_ipaclient_unittest: Skip in ipaclient unittest mode', ] @@ -46,6 +56,28 @@ 'install/share' ] + +SKIP_IPASERVER_PATTERNS = [ +# fnmatch patterns +'test_cmdline/*', +'test_install/*', +'test_integration/*', +'test_ipaserver/*', +'test_webui/*', +'test_xmlrpc/*' +] + +if ipaplatform is None: +# test depends on ipaplatform +SKIP_IPASERVER_PATTERNS.append('test_ipaclient/test_csrgen.py') + +SKIP_IPASERVER_RE = re.compile( +'(' + +'|'.join(fnmatch.translate(pat) for pat in SKIP_IPASERVER_PATTERNS) + +')' +) + + INIVALUES = { 'python_classes': ['test_', 'Test'], 'python_files': ['test_*.py'], @@ -75,13 +107,27 @@ def pytest_configure(config): config.option.doctestmodules = True +def pytest_addoption(parser): +group = parser.getgroup("IPA integration tests") +group.addoption( +'--ipaclient-unittests', +help='Run ipaclient unit tests only (no RPC and ipaserver)', +action='store_true' +) + + def pytest_cmdline_main(config): api.bootstrap( context=u'cli', in_server=False, in_tree=True, fallback=False ) for klass in cli_plugins: api.add_plugin(klass) -api.finalize() + +# XXX workaround until https://fedorahosted.org/freeipa/ticket/6408 has +# been resolved. +if ipaserver is not None: +api.finalize() + if config.option.verbose: print('api.env: ') pprint.pprint({k: api.env[k] for k in api.env}) @@ -89,3 +135,18 @@ def pytest_cmdline_main(config): print("euid: {}
[Freeipa-devel] [freeipa PR#475][synchronized] Add options to run only ipaclient unittests
URL: https://github.com/freeipa/freeipa/pull/475 Author: tiran Title: #475: Add options to run only ipaclient unittests Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/475/head:pr475 git checkout pr475 From e9a2ebd82cc4a3e612d068258bece9ddf202914f Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 17 Feb 2017 08:39:54 +0100 Subject: [PATCH 1/2] Add options to run only ipaclient unittests A new option for ipa-run-tests makes the test runner ignore subdirectories or skips tests that depend on the ipaserver package or on a running framework for RPC integration tests. The new option enables testing of client-only builds. $ ipatests/ipa-run-tests --ipaclient-unittests ... platform linux2 -- Python 2.7.13, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 rootdir: /home/heimes/redhat, inifile: tox.ini plugins: sourceorder-0.5, cov-2.3.0, betamax-0.7.1, multihost-1.1 collected 451 items test_util.py util.py .. test_ipaclient/test_csrgen.py ..... test_ipalib/test_aci.py ... test_ipalib/test_backend.py test_ipalib/test_base.py ... test_ipalib/test_capabilities.py . test_ipalib/test_cli.py ... test_ipalib/test_config.py ... test_ipalib/test_crud.py ... test_ipalib/test_errors.py ... test_ipalib/test_frontend.py test_ipalib/test_messages.py test_ipalib/test_output.py ... test_ipalib/test_parameters.py . test_ipalib/test_plugable.py test_ipalib/test_rpc.py .. test_ipalib/test_text.py . test_ipalib/test_x509.py ... test_ipapython/test_cookie.py test_ipapython/test_dn.py ... test_ipapython/test_ipautil.py .. test_ipapython/test_ipavalidate.py .. test_ipapython/test_kerberos.py .. test_ipapython/test_keyring.py .. test_ipapython/test_ssh.py ... test_pkcs10/test_pkcs10.py . https://fedorahosted.org/freeipa/ticket/6517 Signed-off-by: Christian Heimes --- ipatests/conftest.py | 63 +- ipatests/setup.py | 1 - ipatests/test_ipaclient/test_csrgen.py | 1 + ipatests/test_ipalib/test_rpc.py | 2 ++ ipatests/util.py | 15 ++-- 5 files changed, 78 insertions(+), 4 deletions(-) diff --git a/ipatests/conftest.py b/ipatests/conftest.py index 511d7b7..6c13e23 100644 --- a/ipatests/conftest.py +++ b/ipatests/conftest.py @@ -3,17 +3,26 @@ # from __future__ import print_function +import fnmatch import os import pprint +import re import sys +import pytest + from ipalib import api from ipalib.cli import cli_plugins try: +import ipaplatform +except ImportError: +ipaplatform = None +try: import ipaserver except ImportError: ipaserver = None +HERE = os.path.dirname(os.path.abspath(__file__)) pytest_plugins = [ 'ipatests.pytest_plugins.additional_config', @@ -31,6 +40,7 @@ 'tier1: functional API tests', 'cs_acceptance: Acceptance test suite for Dogtag Certificate Server', 'ds_acceptance: Acceptance test suite for 389 Directory Server', +'skip_ipaclient_unittest: Skip in ipaclient unittest mode', ] @@ -46,6 +56,28 @@ 'install/share' ] + +SKIP_IPASERVER_PATTERNS = [ +# fnmatch patterns +'test_cmdline/*', +'test_install/*', +'test_integration/*', +'test_ipaserver/*', +'test_webui/*', +'test_xmlrpc/*' +] + +if ipaplatform is None: +# test depends on ipaplatform +SKIP_IPASERVER_PATTERNS.append('test_ipaclient/test_csrgen.py') + +SKIP_IPASERVER_RE = re.compile( +'(' + +'|'.join(fnmatch.translate(pat) for pat in SKIP_IPASERVER_PATTERNS) + +')' +) + + INIVALUES = { 'python_classes': ['test_', 'Test'], 'python_files': ['test_*.py'], @@ -75,13 +107,27 @@ def pytest_configure(config): config.option.doctestmodules = True +def pytest_addoption(parser): +group = parser.getgroup("IPA integration tests") +group.addoption( +'--ipaclient-unittests', +help='Run ipaclient unit tests only (no RPC and ipaserver)', +action='store_true' +) + + def pytest_cmdline_main(config): api.bootstrap( context=u'cli', in_server=False, in_tree=True, fallback=False ) for klass in cli_plugins: api.add_plugin(klass) -api.finalize() + +# XXX workaround until https://fedorahosted.org/freeipa/ticket/6408 has +# been resolved. +if ipaserver is not None: +api.finalize() + if config.option.verbose: print('api.env: ') pprint.pprint({k: api.env[k] for k in api.env}) @@ -89,3 +135,18 @@ def pytest_cmdline_main(config): print("euid
[Freeipa-devel] [freeipa PR#475][synchronized] Add options to run only ipaclient unittests
URL: https://github.com/freeipa/freeipa/pull/475 Author: tiran Title: #475: Add options to run only ipaclient unittests Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/475/head:pr475 git checkout pr475 From 9a1f7c67966e9db5402537277bd3eb194c819e03 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 17 Feb 2017 08:39:54 +0100 Subject: [PATCH 1/3] Add options to run only ipaclient unittests A new option for ipa-run-tests makes the test runner ignore subdirectories or skips tests that depend on the ipaserver package or on a running framework for RPC integration tests. The new option enables testing of client-only builds. $ ipatests/ipa-run-tests --ipaclient-unittests ... platform linux2 -- Python 2.7.13, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 rootdir: /home/heimes/redhat, inifile: tox.ini plugins: sourceorder-0.5, cov-2.3.0, betamax-0.7.1, multihost-1.1 collected 451 items test_util.py util.py .. test_ipaclient/test_csrgen.py ..... test_ipalib/test_aci.py ... test_ipalib/test_backend.py test_ipalib/test_base.py ... test_ipalib/test_capabilities.py . test_ipalib/test_cli.py ... test_ipalib/test_config.py ... test_ipalib/test_crud.py ... test_ipalib/test_errors.py ... test_ipalib/test_frontend.py test_ipalib/test_messages.py test_ipalib/test_output.py ... test_ipalib/test_parameters.py . test_ipalib/test_plugable.py test_ipalib/test_rpc.py .. test_ipalib/test_text.py . test_ipalib/test_x509.py ... test_ipapython/test_cookie.py test_ipapython/test_dn.py ... test_ipapython/test_ipautil.py .. test_ipapython/test_ipavalidate.py .. test_ipapython/test_kerberos.py .. test_ipapython/test_keyring.py .. test_ipapython/test_ssh.py ... test_pkcs10/test_pkcs10.py . https://fedorahosted.org/freeipa/ticket/6517 Signed-off-by: Christian Heimes --- ipatests/conftest.py | 63 +- ipatests/setup.py | 1 - ipatests/test_ipaclient/test_csrgen.py | 1 + ipatests/test_ipalib/test_rpc.py | 2 ++ ipatests/util.py | 15 ++-- 5 files changed, 78 insertions(+), 4 deletions(-) diff --git a/ipatests/conftest.py b/ipatests/conftest.py index 511d7b7..6c13e23 100644 --- a/ipatests/conftest.py +++ b/ipatests/conftest.py @@ -3,17 +3,26 @@ # from __future__ import print_function +import fnmatch import os import pprint +import re import sys +import pytest + from ipalib import api from ipalib.cli import cli_plugins try: +import ipaplatform +except ImportError: +ipaplatform = None +try: import ipaserver except ImportError: ipaserver = None +HERE = os.path.dirname(os.path.abspath(__file__)) pytest_plugins = [ 'ipatests.pytest_plugins.additional_config', @@ -31,6 +40,7 @@ 'tier1: functional API tests', 'cs_acceptance: Acceptance test suite for Dogtag Certificate Server', 'ds_acceptance: Acceptance test suite for 389 Directory Server', +'skip_ipaclient_unittest: Skip in ipaclient unittest mode', ] @@ -46,6 +56,28 @@ 'install/share' ] + +SKIP_IPASERVER_PATTERNS = [ +# fnmatch patterns +'test_cmdline/*', +'test_install/*', +'test_integration/*', +'test_ipaserver/*', +'test_webui/*', +'test_xmlrpc/*' +] + +if ipaplatform is None: +# test depends on ipaplatform +SKIP_IPASERVER_PATTERNS.append('test_ipaclient/test_csrgen.py') + +SKIP_IPASERVER_RE = re.compile( +'(' + +'|'.join(fnmatch.translate(pat) for pat in SKIP_IPASERVER_PATTERNS) + +')' +) + + INIVALUES = { 'python_classes': ['test_', 'Test'], 'python_files': ['test_*.py'], @@ -75,13 +107,27 @@ def pytest_configure(config): config.option.doctestmodules = True +def pytest_addoption(parser): +group = parser.getgroup("IPA integration tests") +group.addoption( +'--ipaclient-unittests', +help='Run ipaclient unit tests only (no RPC and ipaserver)', +action='store_true' +) + + def pytest_cmdline_main(config): api.bootstrap( context=u'cli', in_server=False, in_tree=True, fallback=False ) for klass in cli_plugins: api.add_plugin(klass) -api.finalize() + +# XXX workaround until https://fedorahosted.org/freeipa/ticket/6408 has +# been resolved. +if ipaserver is not None: +api.finalize() + if config.option.verbose: print('api.env: ') pprint.pprint({k: api.env[k] for k in api.env}) @@ -89,3 +135,18 @@ def pytest_cmdline_main(config): print("euid
[Freeipa-devel] [freeipa PR#475][synchronized] Add options to run only ipaclient unittests
URL: https://github.com/freeipa/freeipa/pull/475 Author: tiran Title: #475: Add options to run only ipaclient unittests Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/475/head:pr475 git checkout pr475 From 0f3454fd133f9ee09c247a3892088b860a47914c Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 17 Feb 2017 08:39:54 +0100 Subject: [PATCH] Add options to run only ipaclient unittests A new option for ipa-run-tests makes the test runner ignore subdirectories or skips tests that depend on the ipaserver package or on a running framework for RPC integration tests. The new option enables testing of client-only builds. $ ipatests/ipa-run-tests --ipaclient-unittests ... platform linux2 -- Python 2.7.13, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 rootdir: /home/heimes/redhat, inifile: tox.ini plugins: sourceorder-0.5, cov-2.3.0, betamax-0.7.1, multihost-1.1 collected 451 items test_util.py util.py .. test_ipaclient/test_csrgen.py ..... test_ipalib/test_aci.py ... test_ipalib/test_backend.py test_ipalib/test_base.py ... test_ipalib/test_capabilities.py . test_ipalib/test_cli.py ... test_ipalib/test_config.py ... test_ipalib/test_crud.py ... test_ipalib/test_errors.py ... test_ipalib/test_frontend.py test_ipalib/test_messages.py test_ipalib/test_output.py ... test_ipalib/test_parameters.py . test_ipalib/test_plugable.py test_ipalib/test_rpc.py .. test_ipalib/test_text.py . test_ipalib/test_x509.py ... test_ipapython/test_cookie.py test_ipapython/test_dn.py ... test_ipapython/test_ipautil.py .. test_ipapython/test_ipavalidate.py .. test_ipapython/test_kerberos.py .. test_ipapython/test_keyring.py .. test_ipapython/test_ssh.py ... test_pkcs10/test_pkcs10.py . https://fedorahosted.org/freeipa/ticket/6517 Signed-off-by: Christian Heimes --- ipatests/conftest.py | 34 +- ipatests/pytest_plugins/integration.py | 8 +++-- ipatests/setup.py | 1 - ipatests/test_cmdline/__init__.py | 6 ipatests/test_install/__init__.py | 5 ipatests/test_integration/__init__.py | 5 ipatests/test_ipalib/test_rpc.py | 2 ++ ipatests/test_ipaserver/__init__.py| 6 ipatests/test_ipaserver/test_install/__init__.py | 0 .../test_install/test_adtrustinstance.py | 8 ++--- ipatests/test_webui/__init__.py| 5 ipatests/test_xmlrpc/__init__.py | 5 ipatests/util.py | 17 +-- pylint_plugins.py | 16 +- 14 files changed, 103 insertions(+), 15 deletions(-) create mode 100644 ipatests/test_ipaserver/test_install/__init__.py diff --git a/ipatests/conftest.py b/ipatests/conftest.py index 511d7b7..61e889d 100644 --- a/ipatests/conftest.py +++ b/ipatests/conftest.py @@ -7,13 +7,21 @@ import pprint import sys +import pytest + from ipalib import api from ipalib.cli import cli_plugins + +try: +import ipaplatform # pylint: disable=unused-import +except ImportError: +ipaplatform = None try: import ipaserver except ImportError: ipaserver = None +HERE = os.path.dirname(os.path.abspath(__file__)) pytest_plugins = [ 'ipatests.pytest_plugins.additional_config', @@ -31,6 +39,7 @@ 'tier1: functional API tests', 'cs_acceptance: Acceptance test suite for Dogtag Certificate Server', 'ds_acceptance: Acceptance test suite for 389 Directory Server', +'skip_ipaclient_unittest: Skip in ipaclient unittest mode', ] @@ -46,6 +55,7 @@ 'install/share' ] + INIVALUES = { 'python_classes': ['test_', 'Test'], 'python_files': ['test_*.py'], @@ -75,13 +85,27 @@ def pytest_configure(config): config.option.doctestmodules = True +def pytest_addoption(parser): +group = parser.getgroup("IPA integration tests") +group.addoption( +'--ipaclient-unittests', +help='Run ipaclient unit tests only (no RPC and ipaserver)', +action='store_true' +) + + def pytest_cmdline_main(config): api.bootstrap( context=u'cli', in_server=False, in_tree=True, fallback=False ) for klass in cli_plugins: api.add_plugin(klass) -api.finalize() + +# XXX workaround until https://fedorahosted.org/freeipa/ticket/6408 has +# been resolved. +if ipaserver is not None: +api.finalize() + if config.opti
[Freeipa-devel] [freeipa PR#475][synchronized] Add options to run only ipaclient unittests
URL: https://github.com/freeipa/freeipa/pull/475 Author: tiran Title: #475: Add options to run only ipaclient unittests Action: synchronized To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/475/head:pr475 git checkout pr475 From 3a728fae92879c08421a2bf9fdb36280152481e1 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 17 Feb 2017 08:39:54 +0100 Subject: [PATCH] Add options to run only ipaclient unittests A new option for ipa-run-tests makes the test runner ignore subdirectories or skips tests that depend on the ipaserver package or on a running framework for RPC integration tests. The new option enables testing of client-only builds. $ ipatests/ipa-run-tests --ipaclient-unittests ... platform linux2 -- Python 2.7.13, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 rootdir: /home/heimes/redhat, inifile: tox.ini plugins: sourceorder-0.5, cov-2.3.0, betamax-0.7.1, multihost-1.1 collected 451 items test_util.py util.py .. test_ipaclient/test_csrgen.py ..... test_ipalib/test_aci.py ... test_ipalib/test_backend.py test_ipalib/test_base.py ... test_ipalib/test_capabilities.py . test_ipalib/test_cli.py ... test_ipalib/test_config.py ... test_ipalib/test_crud.py ... test_ipalib/test_errors.py ... test_ipalib/test_frontend.py test_ipalib/test_messages.py test_ipalib/test_output.py ... test_ipalib/test_parameters.py . test_ipalib/test_plugable.py test_ipalib/test_rpc.py .. test_ipalib/test_text.py . test_ipalib/test_x509.py ... test_ipapython/test_cookie.py test_ipapython/test_dn.py ... test_ipapython/test_ipautil.py .. test_ipapython/test_ipavalidate.py .. test_ipapython/test_kerberos.py .. test_ipapython/test_keyring.py .. test_ipapython/test_ssh.py ... test_pkcs10/test_pkcs10.py . https://fedorahosted.org/freeipa/ticket/6517 Signed-off-by: Christian Heimes --- ipatests/conftest.py | 34 +- ipatests/pytest_plugins/integration.py | 8 +++-- ipatests/setup.py | 1 - ipatests/test_cmdline/__init__.py | 6 ipatests/test_install/__init__.py | 5 ipatests/test_integration/__init__.py | 5 ipatests/test_ipalib/test_rpc.py | 2 ++ ipatests/test_ipaserver/__init__.py| 6 ipatests/test_ipaserver/test_install/__init__.py | 0 .../test_install/test_adtrustinstance.py | 8 ++--- ipatests/test_webui/__init__.py| 5 ipatests/test_xmlrpc/__init__.py | 5 ipatests/util.py | 17 +-- pylint_plugins.py | 16 +- 14 files changed, 103 insertions(+), 15 deletions(-) create mode 100644 ipatests/test_ipaserver/test_install/__init__.py diff --git a/ipatests/conftest.py b/ipatests/conftest.py index 511d7b7..61e889d 100644 --- a/ipatests/conftest.py +++ b/ipatests/conftest.py @@ -7,13 +7,21 @@ import pprint import sys +import pytest + from ipalib import api from ipalib.cli import cli_plugins + +try: +import ipaplatform # pylint: disable=unused-import +except ImportError: +ipaplatform = None try: import ipaserver except ImportError: ipaserver = None +HERE = os.path.dirname(os.path.abspath(__file__)) pytest_plugins = [ 'ipatests.pytest_plugins.additional_config', @@ -31,6 +39,7 @@ 'tier1: functional API tests', 'cs_acceptance: Acceptance test suite for Dogtag Certificate Server', 'ds_acceptance: Acceptance test suite for 389 Directory Server', +'skip_ipaclient_unittest: Skip in ipaclient unittest mode', ] @@ -46,6 +55,7 @@ 'install/share' ] + INIVALUES = { 'python_classes': ['test_', 'Test'], 'python_files': ['test_*.py'], @@ -75,13 +85,27 @@ def pytest_configure(config): config.option.doctestmodules = True +def pytest_addoption(parser): +group = parser.getgroup("IPA integration tests") +group.addoption( +'--ipaclient-unittests', +help='Run ipaclient unit tests only (no RPC and ipaserver)', +action='store_true' +) + + def pytest_cmdline_main(config): api.bootstrap( context=u'cli', in_server=False, in_tree=True, fallback=False ) for klass in cli_plugins: api.add_plugin(klass) -api.finalize() + +# XXX workaround until https://fedorahosted.org/freeipa/ticket/6408 has +# been resolved. +if ipaserver is not None: +api.finalize() + if config.opti