15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
from testsweet import TestCase, run_suite, InTempDir, FunctionalTestCase
18
from testsweet import TestBase, run_suite, InTempDir
19
19
import bzrlib.commands
21
import bzrlib.selftest.teststore
23
21
MODULES_TO_TEST = []
24
22
MODULES_TO_DOCTEST = []
28
26
"""bzr-specific test base class"""
29
27
def run_bzr(self, *args, **kwargs):
30
28
retcode = kwargs.get('retcode', 0)
31
result = self.apply_redirected(None, None, None,
32
bzrlib.commands.run_bzr, args)
33
self.assertEquals(result, retcode)
29
self.assertEquals(bzrlib.commands.run_bzr(args), retcode)
36
def selftest(verbose=False, pattern=".*"):
37
return run_suite(test_suite(), 'testbzr', verbose=verbose, pattern=pattern)
41
from bzrlib.selftest.TestUtil import TestLoader, TestSuite
32
def selftest(verbose=False):
33
from unittest import TestLoader, TestSuite
42
34
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
43
35
import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
44
36
from doctest import DocTestSuite
54
46
['bzrlib.selftest.whitebox',
55
47
'bzrlib.selftest.versioning',
56
'bzrlib.selftest.testfetch',
57
48
'bzrlib.selftest.testinv',
58
49
'bzrlib.selftest.testmerge3',
59
50
'bzrlib.selftest.testhashcache',
62
53
'bzrlib.selftest.blackbox',
63
54
'bzrlib.selftest.testrevisionnamespaces',
64
55
'bzrlib.selftest.testbranch',
65
'bzrlib.selftest.testrevision',
66
'bzrlib.selftest.test_merge_core',
67
'bzrlib.selftest.test_smart_add',
68
57
'bzrlib.selftest.testdiff',
70
'bzrlib.selftest.teststore',
60
# XXX: should also test bzrlib.merge_core, but they seem to be out
61
# of date with the code.
73
63
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
74
64
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
75
65
if m not in MODULES_TO_DOCTEST:
76
66
MODULES_TO_DOCTEST.append(m)
78
TestCase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
79
print '%-30s %s' % ('bzr binary', TestCase.BZRPATH)
69
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
70
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
81
74
suite = TestSuite()
82
76
suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
83
78
for m in MODULES_TO_TEST:
84
79
suite.addTest(TestLoader().loadTestsFromModule(m))
85
81
for m in (MODULES_TO_DOCTEST):
86
82
suite.addTest(DocTestSuite(m))
87
84
for p in bzrlib.plugin.all_plugins:
88
85
if hasattr(p, 'test_suite'):
89
86
suite.addTest(p.test_suite())
88
import bzrlib.merge_core
89
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
91
return run_suite(suite, 'testbzr', verbose=verbose)