18
18
from testsweet import TestBase, run_suite, InTempDir
19
import bzrlib.commands
22
20
MODULES_TO_TEST = []
23
21
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)
33
23
def selftest(verbose=False):
34
24
from unittest import TestLoader, TestSuite
35
25
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
36
26
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
37
40
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.
67
47
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
68
48
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
69
49
if m not in MODULES_TO_DOCTEST:
70
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)
73
69
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
74
70
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
89
83
if hasattr(p, 'test_suite'):
90
84
suite.addTest(p.test_suite())
92
import bzrlib.merge_core
93
86
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
95
88
return run_suite(suite, 'testbzr', verbose=verbose)