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