18
18
from testsweet import TestBase, run_suite, InTempDir
21
MODULES_TO_DOCTEST = []
23
def selftest(verbose=False):
22
24
from unittest import TestLoader, TestSuite
23
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, bzrlib.commands
25
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
26
import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
27
global MODULES_TO_TEST, MODULES_TO_DOCTEST
25
29
import bzrlib.selftest.whitebox
26
30
import bzrlib.selftest.blackbox
27
31
import bzrlib.selftest.versioning
28
32
import bzrlib.selftest.testmerge3
29
33
import bzrlib.selftest.testhashcache
34
import bzrlib.selftest.testrevisionnamespaces
35
import bzrlib.selftest.testbranch
36
import bzrlib.selftest.teststatus
37
import bzrlib.selftest.testinv
38
import bzrlib.selftest.testdiff
30
39
import bzrlib.merge_core
31
40
from doctest import DocTestSuite
47
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
48
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
49
if m not in MODULES_TO_DOCTEST:
50
MODULES_TO_DOCTEST.append(m)
53
for m in (bzrlib.selftest.whitebox,
54
bzrlib.selftest.versioning,
55
bzrlib.selftest.testinv,
56
bzrlib.selftest.testmerge3,
57
bzrlib.selftest.testhashcache,
58
bzrlib.selftest.teststatus,
59
bzrlib.selftest.blackbox,
60
bzrlib.selftest.testhashcache,
61
bzrlib.selftest.testrevisionnamespaces,
62
bzrlib.selftest.testbranch,
63
bzrlib.selftest.testdiff,
65
if m not in MODULES_TO_TEST:
66
MODULES_TO_TEST.append(m)
37
69
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
38
70
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
42
74
suite = TestSuite()
44
# should also test bzrlib.merge_core, but they seem to be out of date with
48
# python2.3's TestLoader() doesn't seem to work well; don't know why
50
for m in (bzrlib.store,
76
for m in MODULES_TO_TEST:
77
suite.addTest(TestLoader().loadTestsFromModule(m))
79
for m in (MODULES_TO_DOCTEST):
56
80
suite.addTest(DocTestSuite(m))
58
for cl in (bzrlib.selftest.whitebox.TEST_CLASSES
59
+ bzrlib.selftest.versioning.TEST_CLASSES
60
+ bzrlib.selftest.testmerge3.TEST_CLASSES
61
+ bzrlib.selftest.testhashcache.TEST_CLASSES
62
+ bzrlib.selftest.blackbox.TEST_CLASSES):
65
return run_suite(suite, 'testbzr')
82
for p in bzrlib.plugin.all_plugins:
83
if hasattr(p, 'test_suite'):
84
suite.addTest(p.test_suite())
86
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
88
return run_suite(suite, 'testbzr', verbose=verbose)