Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py36
1 files changed, 25 insertions, 11 deletions
diff --git a/setup.py b/setup.py
index df9b92d..9362dc7 100755
--- a/setup.py
+++ b/setup.py
@@ -10,14 +10,19 @@ class TestCommand(Command):
user_options = [('coverage',
None,
'enable code coverage reporting'),
- ('prefix=',
+ ('prefix=',
'p',
- 'set sugar installation prefix, for dependency loading'),]
+ 'set sugar installation prefix, for dependency loading'),
+ ('single=',
+ 't',
+ 'run a single test'),
+ ]
description = 'runs tests from the test directory'
def initialize_options(self):
self._dir = os.getcwd()
self.coverage = False
+ self.single = False
self.prefix = None
def finalize_options(self):
@@ -33,6 +38,7 @@ class TestCommand(Command):
'python%d.%d'%sys.version_info[:2],
'site-packages')
sys.path.insert(1, prefix)
+ os.environ.setdefault('SUGAR_PREFIX', self.prefix)
if self.coverage:
import coverage
coverage.erase()
@@ -40,15 +46,23 @@ class TestCommand(Command):
loader = TestLoader()
suite = TestSuite()
- skipped = file('tests/skip', 'r').read().split('\n')
- for t in glob.glob(pjoin(self._dir, 'tests', '*.py')):
- if not t.endswith('__init__.py') and basename(t) not in skipped:
- modname = '.'.join(['tests', splitext(basename(t))[0]])
- mod = __import__(modname, {'sys':sys}, fromlist=[modname])
- print "loading %s" % modname
- suite.addTest(loader.loadTestsFromModule(mod))
- else:
- print "skipping %s" % t
+ if not self.single:
+ skipped = file('tests/skip', 'r').read().split('\n')
+ for t in glob.glob(pjoin(self._dir, 'tests', '*.py')):
+ if not t.endswith('__init__.py') and basename(t) not in skipped:
+ modname = '.'.join(['tests', splitext(basename(t))[0]])
+ mod = __import__(modname, {'sys':sys}, fromlist=[modname])
+ print "loading %s" % modname
+ suite.addTest(loader.loadTestsFromModule(mod))
+ else:
+ print "skipping %s" % t
+ else:
+ modname = '.'.join(['tests', self.single])
+ mod = __import__(modname, {'sys':sys}, fromlist=[modname])
+ print "loading %s" % modname
+ suite.addTest(loader.loadTestsFromModule(mod))
+
+
t = TextTestRunner(verbosity = 1)
t.run(suite)