18
18
from testsweet import TestBase, run_suite, InTempDir
19
import bzrlib.commands
20
21
MODULES_TO_TEST = []
21
22
MODULES_TO_DOCTEST = []
25
class BzrTestBase(InTempDir):
26
"""bzr-specific test base class"""
27
def run_bzr(self, *args, **kwargs):
28
retcode = kwargs.get('retcode', 0)
29
self.assertEquals(bzrlib.commands.run_bzr(args), retcode)
23
32
def selftest(verbose=False):
24
33
from unittest import TestLoader, TestSuite
25
34
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
26
35
import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
27
global MODULES_TO_TEST, MODULES_TO_DOCTEST
29
import bzrlib.selftest.whitebox
30
import bzrlib.selftest.blackbox
31
import bzrlib.selftest.versioning
32
import bzrlib.selftest.testmerge3
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
39
import bzrlib.merge_core
40
36
from doctest import DocTestSuite
43
global MODULES_TO_TEST, MODULES_TO_DOCTEST
46
['bzrlib.selftest.whitebox',
47
'bzrlib.selftest.versioning',
48
'bzrlib.selftest.testinv',
49
'bzrlib.selftest.testmerge3',
50
'bzrlib.selftest.testhashcache',
51
'bzrlib.selftest.teststatus',
52
'bzrlib.selftest.testlog',
53
'bzrlib.selftest.blackbox',
54
'bzrlib.selftest.testrevisionnamespaces',
55
'bzrlib.selftest.testbranch',
56
'bzrlib.selftest.testrevision',
58
'bzrlib.selftest.testdiff',
61
# XXX: should also test bzrlib.merge_core, but they seem to be out
62
# of date with the code.
47
64
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
48
65
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
49
66
if m not in MODULES_TO_DOCTEST:
50
67
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)
69
70
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
70
71
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
83
86
if hasattr(p, 'test_suite'):
84
87
suite.addTest(p.test_suite())
89
import bzrlib.merge_core
86
90
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
88
92
return run_suite(suite, 'testbzr', verbose=verbose)