15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
from testsweet import TestBase, run_suite, InTempDir
19
import bzrlib.commands
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)
33
def selftest(verbose=False):
34
from unittest import TestLoader, TestSuite
35
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
36
import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
20
from unittest import TestLoader
37
22
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
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
68
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
69
if m not in MODULES_TO_DOCTEST:
70
MODULES_TO_DOCTEST.append(m)
73
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
74
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
80
suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
82
for m in MODULES_TO_TEST:
83
suite.addTest(TestLoader().loadTestsFromModule(m))
85
for m in (MODULES_TO_DOCTEST):
24
tr = unittest.TextTestRunner(verbosity=2)
25
suite = unittest.TestSuite()
26
import bzrlib.whitebox
28
suite.addTest(TestLoader().loadTestsFromModule(bzrlib.whitebox))
30
for m in bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, \
31
bzrlib.tree, bzrlib.commands, bzrlib.add:
86
32
suite.addTest(DocTestSuite(m))
88
for p in bzrlib.plugin.all_plugins:
89
if hasattr(p, 'test_suite'):
90
suite.addTest(p.test_suite())
92
import bzrlib.merge_core
93
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
95
return run_suite(suite, 'testbzr', verbose=verbose)
34
result = tr.run(suite)
35
return result.wasSuccessful()