Replace test setuptools command by unittest discover

issue9215
review389851002
This commit is contained in:
Cédric Krier committed 2022-04-16 18:30:18 +02:00
1 parent 4b5e77a330
commit bdb6897280
6 files changed
+68 -85

No files matched your search

+3 -3
View File
@@ -138,13 +138,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]
production = trytond.modules.production
""",
test_suite='tests',
test_loader='trytond.test_loader:Loader',
tests_require=tests_require,
)
-7
View File
@@ -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.production.tests.test_production import suite
except ImportError:
from .test_production import suite
__all__ = ['suite']
+41
View File
@@ -0,0 +1,41 @@
# 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
from trytond.modules.company.tests import CompanyTestMixin
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
class ProductionTestCase(CompanyTestMixin, ModuleTestCase):
'Test Production module'
module = 'production'
@with_transaction()
def test_on_change_with_planned_start_date(self):
"Test on_change_with_planned_start_date"
pool = Pool()
Production = pool.get('production')
Product = pool.get('product.product')
LeadTime = pool.get('production.lead_time')
date = datetime.date(2016, 11, 26)
product = Product()
product.lead_times = []
production = Production()
production.planned_date = date
production.product = product
self.assertEqual(production.on_change_with_planned_start_date(), date)
lead_time = LeadTime(bom=None, lead_time=None)
product.lead_times = [lead_time]
self.assertEqual(production.on_change_with_planned_start_date(), date)
lead_time.lead_time = datetime.timedelta(1)
self.assertEqual(
production.on_change_with_planned_start_date(),
datetime.date(2016, 11, 25))
del ModuleTestCase
-74
View File
@@ -1,74 +0,0 @@
# 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
import doctest
import unittest
import trytond.tests.test_tryton
from trytond.modules.company.tests import CompanyTestMixin
from trytond.pool import Pool
from trytond.tests.test_tryton import (
ModuleTestCase, doctest_checker, doctest_teardown, with_transaction)
class ProductionTestCase(CompanyTestMixin, ModuleTestCase):
'Test Production module'
module = 'production'
@with_transaction()
def test_on_change_with_planned_start_date(self):
"Test on_change_with_planned_start_date"
pool = Pool()
Production = pool.get('production')
Product = pool.get('product.product')
LeadTime = pool.get('production.lead_time')
date = datetime.date(2016, 11, 26)
product = Product()
product.lead_times = []
production = Production()
production.planned_date = date
production.product = product
self.assertEqual(production.on_change_with_planned_start_date(), date)
lead_time = LeadTime(bom=None, lead_time=None)
product.lead_times = [lead_time]
self.assertEqual(production.on_change_with_planned_start_date(), date)
lead_time.lead_time = datetime.timedelta(1)
self.assertEqual(
production.on_change_with_planned_start_date(),
datetime.date(2016, 11, 25))
def suite():
suite = trytond.tests.test_tryton.suite()
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
ProductionTestCase))
suite.addTests(doctest.DocFileSuite('scenario_production.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
suite.addTests(doctest.DocFileSuite('scenario_production_rounding.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
suite.addTests(doctest.DocFileSuite('scenario_production_by_product.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
suite.addTests(
doctest.DocFileSuite('scenario_production_no_list_price.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
suite.addTests(doctest.DocFileSuite('scenario_production_set_cost.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
suite.addTests(doctest.DocFileSuite('scenario_production_waste.rst',
tearDown=doctest_teardown, encoding='utf-8',
checker=doctest_checker,
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
return suite
+22
View File
@@ -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
+2 -1
View File
@@ -2,8 +2,9 @@
envlist = {py37,py38,py39,py310}-{sqlite,postgresql}
[testenv]
extras = test
commands =
coverage run --include=.*/production/* setup.py test
coverage run --include=.*/production/* -m unittest discover -s tests
coverage report --include=.*/production/* --omit=*/tests/*
deps =
coverage