~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/__init__.py

  • Committer: aaron.bentley at utoronto
  • Date: 2005-08-18 02:24:28 UTC
  • mto: (1092.1.41) (1185.3.4) (974.1.47)
  • mto: This revision was merged to the branch mainline in revision 1110.
  • Revision ID: aaron.bentley@utoronto.ca-20050818022428-4c0bf84005f4dba8
mergedĀ mbp@sourcefrog.net-20050817233101-0939da1cf91f2472

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
 
18
18
from testsweet import TestBase, run_suite, InTempDir
 
19
import bzrlib.commands
19
20
 
20
21
MODULES_TO_TEST = []
21
22
MODULES_TO_DOCTEST = []
22
23
 
 
24
 
 
25
class BzrTestBase(InTempDir):
 
26
    """bzr-specific test base class"""
 
27
    def run_bzr(self, *args, **kwargs):
 
28
        retcode = kwargs.get('retcode', 0)
 
29
        self.assertEquals(bzrlib.commands.run_bzr(args), retcode)
 
30
        
 
31
 
23
32
def selftest(verbose=False):
24
33
    from unittest import TestLoader, TestSuite
25
34
    import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
26
35
    import bzrlib.osutils, bzrlib.commands, bzrlib.merge3, bzrlib.plugin
27
 
    global MODULES_TO_TEST, MODULES_TO_DOCTEST
28
 
 
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
40
36
    from doctest import DocTestSuite
41
37
    import os
42
38
    import shutil
44
40
    import sys
45
41
    import unittest
46
42
 
 
43
    global MODULES_TO_TEST, MODULES_TO_DOCTEST
 
44
 
 
45
    testmod_names = \
 
46
                  ['bzrlib.selftest.whitebox',
 
47
                   'bzrlib.selftest.versioning',
 
48
                   'bzrlib.selftest.testinv',
 
49
                   'bzrlib.selftest.testmerge3',
 
50
                   'bzrlib.selftest.testhashcache',
 
51
                   'bzrlib.selftest.teststatus',
 
52
                   'bzrlib.selftest.testlog',
 
53
                   'bzrlib.selftest.blackbox',
 
54
                   'bzrlib.selftest.testrevisionnamespaces',
 
55
                   'bzrlib.selftest.testbranch',
 
56
                   'bzrlib.selftest.testrevision',
 
57
                   'bzrlib.merge_core',
 
58
                   'bzrlib.selftest.testdiff',
 
59
                   ]
 
60
 
 
61
    # XXX: should also test bzrlib.merge_core, but they seem to be out
 
62
    # of date with the code.
 
63
 
47
64
    for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
48
65
              bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
49
66
        if m not in MODULES_TO_DOCTEST:
50
67
            MODULES_TO_DOCTEST.append(m)
 
68
 
51
69
    
52
 
    # ugly ugly!
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,
64
 
              ):
65
 
        if m not in MODULES_TO_TEST:
66
 
            MODULES_TO_TEST.append(m)
67
 
 
68
 
 
69
70
    TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
70
71
    print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
71
72
 
73
74
 
74
75
    suite = TestSuite()
75
76
 
 
77
    suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
 
78
 
76
79
    for m in MODULES_TO_TEST:
77
80
         suite.addTest(TestLoader().loadTestsFromModule(m))
78
81
 
83
86
        if hasattr(p, 'test_suite'):
84
87
            suite.addTest(p.test_suite())
85
88
 
 
89
    import bzrlib.merge_core
86
90
    suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
87
91
 
88
92
    return run_suite(suite, 'testbzr', verbose=verbose)