~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:54:37 UTC
  • Revision ID: mbp@sourcefrog.net-20050722195437-d7548eab2e4f75c1
doc

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
 
18
from testsweet import TestBase, run_suite, InTempDir
 
19
 
 
20
MODULES_TO_TEST = []
 
21
MODULES_TO_DOCTEST = []
 
22
 
18
23
def selftest():
 
24
    from unittest import TestLoader, TestSuite
 
25
    import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch
 
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
 
38
    from doctest import DocTestSuite
 
39
    import os
 
40
    import shutil
 
41
    import time
 
42
    import sys
19
43
    import unittest
20
 
    from unittest import TestLoader
21
 
    import bzrlib
22
 
    from doctest import DocTestSuite
23
 
    
24
 
    tr = unittest.TextTestRunner(verbosity=2)
25
 
    suite = unittest.TestSuite()
26
 
    import bzrlib.whitebox
27
 
 
28
 
    suite.addTest(TestLoader().loadTestsFromModule(bzrlib.whitebox))
29
 
    
30
 
    for m in bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, \
31
 
            bzrlib.tree, bzrlib.commands, bzrlib.add:
 
44
 
 
45
    for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
 
46
              bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
 
47
        if m not in MODULES_TO_DOCTEST:
 
48
            MODULES_TO_DOCTEST.append(m)
 
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
 
 
64
    TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
 
65
    print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
 
66
 
 
67
    print
 
68
 
 
69
    suite = TestSuite()
 
70
 
 
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
 
77
    for m in MODULES_TO_TEST:
 
78
         suite.addTest(TestLoader().loadTestsFromModule(m))
 
79
 
 
80
    for m in (MODULES_TO_DOCTEST):
32
81
        suite.addTest(DocTestSuite(m))
33
82
 
34
 
    result = tr.run(suite)
35
 
    return result.wasSuccessful()
 
83
    for p in bzrlib.plugin.all_plugins:
 
84
        if hasattr(p, 'test_suite'):
 
85
            suite.addTest(p.test_suite())
 
86
 
 
87
    suite.addTest(unittest.makeSuite(bzrlib.merge_core.MergeTest, 'test_'))
 
88
 
 
89
    return run_suite(suite, 'testbzr')
 
90
 
 
91
 
 
92