From 92f22eec566e76c51ededbe367febd1cb5061eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 16 Apr 2022 18:30:15 +0200 Subject: [PATCH] Replace test setuptools command by unittest discover issue9215 review389851002 --- setup.py | 6 ++-- tests/__init__.py | 7 ----- .../{test_account_asset.py => test_module.py} | 30 ++++--------------- tests/test_scenario.py | 22 ++++++++++++++ tox.ini | 2 +- 5 files changed, 31 insertions(+), 36 deletions(-) rename tests/{test_account_asset.py => test_module.py} (59%) create mode 100644 tests/test_scenario.py diff --git a/setup.py b/setup.py index 2e3f80f903..7d2de1d3c5 100755 --- a/setup.py +++ b/setup.py @@ -140,13 +140,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] account_asset = trytond.modules.account_asset """, - test_suite='tests', - test_loader='trytond.test_loader:Loader', - tests_require=tests_require, ) diff --git a/tests/__init__.py b/tests/__init__.py index 8d1799c856..4effdfa4a2 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,9 +1,2 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. - -try: - from trytond.modules.account_asset.tests.test_account_asset import suite -except ImportError: - from .test_account_asset import suite - -__all__ = ['suite'] diff --git a/tests/test_account_asset.py b/tests/test_module.py similarity index 59% rename from tests/test_account_asset.py rename to tests/test_module.py index bd766ba828..5bf7abccac 100644 --- a/tests/test_account_asset.py +++ b/tests/test_module.py @@ -1,13 +1,10 @@ # 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 datetime as dt -import doctest -import unittest -import trytond.tests.test_tryton +import datetime as dt + from trytond.modules.account_asset.asset import normalized_delta -from trytond.tests.test_tryton import ( - ModuleTestCase, doctest_checker, doctest_teardown) +from trytond.tests.test_tryton import ModuleTestCase class AccountAssetTestCase(ModuleTestCase): @@ -16,7 +13,7 @@ class AccountAssetTestCase(ModuleTestCase): extras = ['purchase'] def test_normalized_delta(self): - "Test normalized detal" + "Test normalized delta" for start, end, delta in [ (dt.date(2019, 1, 1), dt.date(2019, 12, 31), dt.timedelta(days=364)), @@ -42,21 +39,4 @@ class AccountAssetTestCase(ModuleTestCase): msg='%s - %s' % (start, end)) -def suite(): - suite = trytond.tests.test_tryton.suite() - suite.addTests(unittest.TestLoader().loadTestsFromTestCase( - AccountAssetTestCase)) - suite.addTests(doctest.DocFileSuite('scenario_account_asset.rst', - tearDown=doctest_teardown, encoding='utf-8', - checker=doctest_checker, - optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) - suite.addTests(doctest.DocFileSuite( - 'scenario_account_asset_depreciated.rst', - tearDown=doctest_teardown, encoding='utf-8', - checker=doctest_checker, - optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) - suite.addTests(doctest.DocFileSuite('scenario_purchase_asset.rst', - tearDown=doctest_teardown, encoding='utf-8', - checker=doctest_checker, - optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) - return suite +del ModuleTestCase 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 787de4eb1d..6652478dec 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,7 @@ envlist = {py37,py38,py39,py310}-{sqlite,postgresql} [testenv] commands = - coverage run --include=.*/account_asset/* setup.py test + coverage run --include=.*/account_asset/* -m unittest discover -s tests coverage report --include=.*/account_asset/* --omit=*/tests/* deps = coverage