~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/__init__.py

  • Committer: Martin Pool
  • Date: 2005-07-22 19:32:52 UTC
  • Revision ID: mbp@sourcefrog.net-20050722193252-d3cdd1bd566c9f6a
doc

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
20
19
 
21
20
MODULES_TO_TEST = []
22
21
MODULES_TO_DOCTEST = []
23
22
 
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
 
 
32
 
def selftest(verbose=False):
 
23
def selftest():
33
24
    from unittest import TestLoader, TestSuite
34
25
    import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
35
26
    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.merge_core
36
38
    from doctest import DocTestSuite
37
39
    import os
38
40
    import shutil
40
42
    import sys
41
43
    import unittest
42
44
 
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
 
 
64
45
    for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
65
46
              bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
66
47
        if m not in MODULES_TO_DOCTEST:
67
48
            MODULES_TO_DOCTEST.append(m)
68
 
 
69
 
    
 
49
            
 
50
    for m in (bzrlib.selftest.whitebox,
 
51
              bzrlib.selftest.versioning,
 
52
              bzrlib.selftest.testmerge3,
 
53
              bzrlib.selftest.testhashcache,
 
54
              bzrlib.selftest.teststatus,
 
55
              bzrlib.selftest.blackbox,
 
56
              bzrlib.selftest.testhashcache,
 
57
              bzrlib.selftest.testrevisionnamespaces,
 
58
              bzrlib.selftest.testbranch,
 
59
              ):
 
60
        if m not in MODULES_TO_TEST:
 
61
            MODULES_TO_TEST.append(m)
 
62
 
 
63
 
70
64
    TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
71
65
    print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
72
66
 
74
68
 
75
69
    suite = TestSuite()
76
70
 
77
 
    suite.addTest(TestLoader().loadTestsFromNames(testmod_names))
78
 
 
 
71
    # should also test bzrlib.merge_core, but they seem to be out of date with
 
72
    # the code.
 
73
 
 
74
 
 
75
    # XXX: python2.3's TestLoader() doesn't seem to find all the
 
76
    # tests; don't know why
79
77
    for m in MODULES_TO_TEST:
80
78
         suite.addTest(TestLoader().loadTestsFromModule(m))
81
79
 
86
84
        if hasattr(p, 'test_suite'):
87
85
            suite.addTest(p.test_suite())
88
86
 
89
 
    import bzrlib.merge_core
90
87
    suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
91
88
 
92
 
    return run_suite(suite, 'testbzr', verbose=verbose)
 
89
    return run_suite(suite, 'testbzr')
93
90
 
94
91
 
95
92