diff options
author | Michał Górny <mgorny@gentoo.org> | 2011-06-08 14:44:20 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2011-06-08 14:44:20 +0200 |
commit | 9f87f959c266cb079b16094d3ab10a23137178ee (patch) | |
tree | a0d5df117723414ab35ec71b0add7d09c086b446 /setup.py | |
parent | Don't expect pms-test_pkg_setup anymore. (diff) | |
download | pms-test-suite-9f87f959c266cb079b16094d3ab10a23137178ee.tar.gz pms-test-suite-9f87f959c266cb079b16094d3ab10a23137178ee.tar.bz2 pms-test-suite-9f87f959c266cb079b16094d3ab10a23137178ee.zip |
Run tests using 'setup.py test'.
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 40 |
1 files changed, 38 insertions, 2 deletions
@@ -3,7 +3,7 @@ # (c) 2011 Michał Górny <mgorny@gentoo.org> # Released under the terms of the 2-clause BSD license. -from distutils.core import setup +from distutils.core import setup, Command import os.path, sys @@ -13,6 +13,38 @@ try: except ImportError: PV = 'unknown' +class TestCommand(Command): + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + import unittest, doctest + + import PMSTestSuite.cli + import PMSTestSuite.library + import PMSTestSuite.pm + import PMSTestSuite.pm.pkgcorepm + import PMSTestSuite.pm.portagepm + import PMSTestSuite.repository + + tests = unittest.TestSuite() + tests.addTests(doctest.DocTestSuite(PMSTestSuite.cli)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.library)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.library.case)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.pm)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.pm.pkgcorepm)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.pm.portagepm)) + tests.addTests(doctest.DocTestSuite(PMSTestSuite.repository)) + + r = unittest.TextTestRunner() + res = r.run(tests) + sys.exit(0 if res.wasSuccessful() else 1) + setup( name = 'pms-test-suite', version = PV, @@ -43,5 +75,9 @@ setup( 'Topic :: Software Development :: Quality Assurance', 'Topic :: Software Development :: Testing', 'Topic :: System :: Installation/Setup' - ] + ], + + cmdclass = { + 'test': TestCommand + } ) |