15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
from testsweet import TestCase, run_suite, InTempDir
19
import bzrlib.commands
18
from testsweet import TestBase, run_suite, InTempDir
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
result = self.apply_redirected(None, None, None,
31
bzrlib.commands.run_bzr, args)
32
self.assertEquals(result, retcode)
35
23
def selftest(verbose=False):
36
return run_suite(test_suite(), 'testbzr', verbose=verbose)
40
24
from unittest import TestLoader, TestSuite
41
25
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
42
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
43
40
from doctest import DocTestSuite
50
global MODULES_TO_TEST, MODULES_TO_DOCTEST
53
['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.testlog',
60
'bzrlib.selftest.blackbox',
61
'bzrlib.selftest.testrevisionnamespaces',
62
'bzrlib.selftest.testbranch',
63
'bzrlib.selftest.testrevision',
65
'bzrlib.selftest.testdiff',
69
47
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
70
48
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
71
49
if m not in MODULES_TO_DOCTEST:
72
50
MODULES_TO_DOCTEST.append(m)
74
TestCase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
75
print '%-30s %s' % ('bzr binary', TestCase.BZRPATH)
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
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
70
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
77
74
suite = TestSuite()
78
suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
79
76
for m in MODULES_TO_TEST:
80
77
suite.addTest(TestLoader().loadTestsFromModule(m))
81
79
for m in (MODULES_TO_DOCTEST):
82
80
suite.addTest(DocTestSuite(m))
83
82
for p in bzrlib.plugin.all_plugins:
84
83
if hasattr(p, 'test_suite'):
85
84
suite.addTest(p.test_suite())
86
import bzrlib.merge_core
87
86
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
88
return run_suite(suite, 'testbzr', verbose=verbose)