aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2011-06-08 14:44:20 +0200
committerMichał Górny <mgorny@gentoo.org>2011-06-08 14:44:20 +0200
commit9f87f959c266cb079b16094d3ab10a23137178ee (patch)
treea0d5df117723414ab35ec71b0add7d09c086b446 /setup.py
parentDon't expect pms-test_pkg_setup anymore. (diff)
downloadpms-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-xsetup.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/setup.py b/setup.py
index af06fec..271d13f 100755
--- a/setup.py
+++ b/setup.py
@@ -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
+ }
)