1
from __future__ import division
8
from unittest import TestCase
12
for name in glob.glob(os.path.join(os.path.dirname(__file__), "test_*.py")):
13
module = __name__ + "." + os.path.basename(name)
14
__import__(module[:-3], {}, {}, [])
16
class Result(unittest.TestResult):
21
def addSuccess(self, test):
22
unittest.TestResult.addSuccess(self, test)
25
def addError(self, test, err):
26
unittest.TestResult.addError(self, test, err)
29
def addFailure(self, test, err):
30
unittest.TestResult.addFailure(self, test, err)
33
def printErrors(self):
34
succ = self.testsRun - (len(self.errors) + len(self.failures))
36
count = 50 - self.testsRun
37
sys.stdout.write((" " * count) + v + "\n")
38
self.printErrorList('ERROR', self.errors)
39
self.printErrorList('FAIL', self.failures)
41
def printErrorList(self, flavour, errors):
42
for test, err in errors:
43
sys.stdout.write(self.separator1 + "\n")
44
sys.stdout.write("%s: %s\n" % (flavour, str(test)))
45
sys.stdout.write(self.separator2 + "\n")
46
sys.stdout.write("%s\n" % err)
50
suite = unittest.makeSuite(test)
51
pref = '%s (%d): ' % (test.__name__, len(suite._tests))
52
print pref + " " * (25 - len(pref)),
56
return bool(result.failures + result.errors)
58
def unit(run=[], filter_func=None):
59
import quodlibet.const
60
quodlibet.const.CONFIG = os.path.join(os.getcwd(), "config.temp")
64
use_suites = filter(filter_func, suites)
65
for test in use_suites:
67
or test.__name__ in run
68
or test.__module__[11:] in run):
69
failures |= runner.run(test)
70
try: os.remove(quodlibet.const.CONFIG)
71
except EnvironmentError: pass