15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
from testsweet import TestBase, run_suite, InTempDir
18
from testsweet import TestCase, 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):
22
34
from unittest import TestLoader, TestSuite
23
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, bzrlib.commands
25
import bzrlib.selftest.whitebox
26
import bzrlib.selftest.blackbox
27
import bzrlib.selftest.versioning
28
import bzrlib.selftest.testmerge3
29
import bzrlib.selftest.testhashcache
30
import bzrlib.merge_core
35
import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
36
import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
31
37
from doctest import DocTestSuite
37
TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
38
print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
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',
63
for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
64
bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
65
if m not in MODULES_TO_DOCTEST:
66
MODULES_TO_DOCTEST.append(m)
68
TestCase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
69
print '%-30s %s' % ('bzr binary', TestCase.BZRPATH)
42
73
suite = TestSuite()
44
# should also test bzrlib.merge_core, but they seem to be out of date with
48
# python2.3's TestLoader() doesn't seem to work well; don't know why
50
for m in (bzrlib.store,
75
suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
77
for m in MODULES_TO_TEST:
78
suite.addTest(TestLoader().loadTestsFromModule(m))
80
for m in (MODULES_TO_DOCTEST):
56
81
suite.addTest(DocTestSuite(m))
58
for cl in (bzrlib.selftest.whitebox.TEST_CLASSES
59
+ bzrlib.selftest.versioning.TEST_CLASSES
60
+ bzrlib.selftest.testmerge3.TEST_CLASSES
61
+ bzrlib.selftest.testhashcache.TEST_CLASSES
62
+ bzrlib.selftest.blackbox.TEST_CLASSES):
65
return run_suite(suite, 'testbzr')
83
for p in bzrlib.plugin.all_plugins:
84
if hasattr(p, 'test_suite'):
85
suite.addTest(p.test_suite())
87
import bzrlib.merge_core
88
suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
90
return run_suite(suite, 'testbzr', verbose=verbose)