Files
tryton/proteus/tests/__init__.py
T

53 lines
1.7 KiB
Python

# 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 os
import sys
import unittest
import doctest
import proteus
import proteus.config
os.environ.setdefault('TRYTOND_DATABASE_URI', 'sqlite:///:memory:')
os.environ.setdefault('DB_NAME', ':memory:')
from trytond.tests.test_tryton import doctest_setup, doctest_teardown
here = os.path.dirname(__file__)
readme = os.path.normpath(os.path.join(here, '..', '..', 'README'))
def test_suite():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
for filename in os.listdir(os.path.dirname(__file__)):
if filename.startswith("test") and filename.endswith(".py"):
modname = "proteus.tests." + filename[:-3]
__import__(modname)
module = sys.modules[modname]
suite.addTests(loader.loadTestsFromModule(module))
suite.addTests(additional_tests())
return suite
def additional_tests():
suite = unittest.TestSuite()
for mod in (proteus, proteus.config):
suite.addTest(doctest.DocTestSuite(mod))
if os.path.isfile(readme):
suite.addTest(doctest.DocFileSuite(readme, module_relative=False,
setUp=doctest_setup, tearDown=doctest_teardown,
encoding='utf-8',
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
return suite
def main():
suite = test_suite()
runner = unittest.TextTestRunner()
return runner.run(suite)
if __name__ == '__main__':
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(
os.path.abspath(__file__)))))
sys.exit(not main().wasSuccessful())