From 633a4859f019bb8232cdbdc31505b98e87c3b9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 16 Apr 2022 18:30:18 +0200 Subject: [PATCH] Replace test setuptools command by unittest discover issue9215 review389851002 --- setup.py | 6 +++--- tests/__init__.py | 8 ------- tests/test_module.py | 14 ++++++++++++ tests/test_purchase_request_quotation.py | 27 ------------------------ tests/test_scenario.py | 22 +++++++++++++++++++ tox.ini | 3 ++- 6 files changed, 41 insertions(+), 39 deletions(-) create mode 100644 tests/test_module.py delete mode 100644 tests/test_purchase_request_quotation.py create mode 100644 tests/test_scenario.py diff --git a/setup.py b/setup.py index d214f6fdd3..2e36123077 100755 --- a/setup.py +++ b/setup.py @@ -141,13 +141,13 @@ setup(name=name, license='GPL-3', python_requires='>=3.7', install_requires=requires, + extras_require={ + 'test': tests_require, + }, dependency_links=dependency_links, zip_safe=False, entry_points=""" [trytond.modules] purchase_request_quotation = trytond.modules.purchase_request_quotation """, - test_suite='tests', - test_loader='trytond.test_loader:Loader', - tests_require=tests_require, ) diff --git a/tests/__init__.py b/tests/__init__.py index 37bd793c7b..a61eba418f 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,11 +1,3 @@ # This file is part purchase_request_for_quotation module for Tryton. # The COPYRIGHT file at the top level of this repository contains # the full copyright notices and license terms. - -try: - from trytond.modules.purchase_request_quotation.tests.test_purchase_request_quotation import \ - suite # noqa: E501 -except ImportError: - from .test_purchase_request_quotation import suite - -__all__ = ['suite'] diff --git a/tests/test_module.py b/tests/test_module.py new file mode 100644 index 0000000000..ac04a5085d --- /dev/null +++ b/tests/test_module.py @@ -0,0 +1,14 @@ +# This file is part purchase_request_for_quotation module for Tryton. +# The COPYRIGHT file at the top level of this repository contains +# the full copyright notices and license terms. + +from trytond.modules.company.tests import CompanyTestMixin +from trytond.tests.test_tryton import ModuleTestCase + + +class PurchaseRequestForQuotationTestCase(CompanyTestMixin, ModuleTestCase): + 'Test Purchase Request For Quotation module' + module = 'purchase_request_quotation' + + +del ModuleTestCase diff --git a/tests/test_purchase_request_quotation.py b/tests/test_purchase_request_quotation.py deleted file mode 100644 index b0ba86a646..0000000000 --- a/tests/test_purchase_request_quotation.py +++ /dev/null @@ -1,27 +0,0 @@ -# This file is part purchase_request_for_quotation module for Tryton. -# The COPYRIGHT file at the top level of this repository contains -# the full copyright notices and license terms. -import doctest -import unittest - -from trytond.modules.company.tests import CompanyTestMixin -from trytond.tests.test_tryton import ( - ModuleTestCase, doctest_checker, doctest_teardown) -from trytond.tests.test_tryton import suite as test_suite - - -class PurchaseRequestForQuotationTestCase(CompanyTestMixin, ModuleTestCase): - 'Test Purchase Request For Quotation module' - module = 'purchase_request_quotation' - - -def suite(): - suite = test_suite() - suite.addTests(unittest.TestLoader().loadTestsFromTestCase( - PurchaseRequestForQuotationTestCase)) - suite.addTests(doctest.DocFileSuite( - 'scenario_purchase_request_quotation.rst', - tearDown=doctest_teardown, encoding='utf-8', - checker=doctest_checker, - optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) - return suite diff --git a/tests/test_scenario.py b/tests/test_scenario.py new file mode 100644 index 0000000000..c80e682a7f --- /dev/null +++ b/tests/test_scenario.py @@ -0,0 +1,22 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import doctest +import glob +import os + +from trytond.tests.test_tryton import doctest_checker, doctest_teardown + + +def load_tests(loader, tests, pattern): + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(__file__)) + for scenario in glob.glob('*.rst'): + tests.addTests(doctest.DocFileSuite( + scenario, tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + finally: + os.chdir(cwd) + return tests diff --git a/tox.ini b/tox.ini index 1866ae37da..3361477286 100644 --- a/tox.ini +++ b/tox.ini @@ -2,8 +2,9 @@ envlist = {py37,py38,py39,py310}-{sqlite,postgresql} [testenv] +extras = test commands = - coverage run --include=.*/purchase_request_quotation/* setup.py test + coverage run --include=.*/purchase_request_quotation/* -m unittest discover -s tests coverage report --include=.*/purchase_request_quotation/* --omit=*/tests/* deps = coverage