~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-23 00:18:14 UTC
  • Revision ID: mbp@sourcefrog.net-20050723001814-03baa015c59253f6
- Add less-sucky is_within_any

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