~bzr-pqm/bzr/bzr.dev

608 by Martin Pool
- Split selftests out into a new module and start changing them
1
# Copyright (C) 2005 by Canonical Ltd
2
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
609 by Martin Pool
- cleanup test code
17
841 by Martin Pool
- Start splitting bzr-independent parts of the test framework into
18
from testsweet import TestBase, run_suite, InTempDir
719 by Martin Pool
- reorganize selftest code
19
720 by Martin Pool
- start moving external tests into the testsuite framework
20
608 by Martin Pool
- Split selftests out into a new module and start changing them
21
def selftest():
721 by Martin Pool
- framework for running external commands from unittest suite
22
    from unittest import TestLoader, TestSuite
800 by Martin Pool
Merge John's import-speedup branch:
23
    import bzrlib, bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, bzrlib.commands
24
723 by Martin Pool
- move whitebox/blackbox modules into bzrlib.selftest subdirectory
25
    import bzrlib.selftest.whitebox
26
    import bzrlib.selftest.blackbox
743 by Martin Pool
- new simple versioning test cases
27
    import bzrlib.selftest.versioning
822 by Martin Pool
- Renamed merge3 test suite for easier access.
28
    import bzrlib.selftest.testmerge3
809 by Martin Pool
- stubbed out call to merge_core tests
29
    import bzrlib.merge_core
721 by Martin Pool
- framework for running external commands from unittest suite
30
    from doctest import DocTestSuite
31
    import os
32
    import shutil
33
    import time
745 by Martin Pool
- redirect stdout/stderr while running tests
34
    import sys
721 by Martin Pool
- framework for running external commands from unittest suite
35
797 by Martin Pool
- run the right bzr for testing
36
    TestBase.BZRPATH = os.path.join(os.path.realpath(os.path.dirname(bzrlib.__path__[0])), 'bzr')
37
    print '%-30s %s' % ('bzr binary', TestBase.BZRPATH)
38
744 by Martin Pool
- show nicer descriptions while running tests
39
    print
721 by Martin Pool
- framework for running external commands from unittest suite
40
41
    suite = TestSuite()
42
    tl = TestLoader()
43
809 by Martin Pool
- stubbed out call to merge_core tests
44
    # should also test bzrlib.merge_core, but they seem to be out of date with
45
    # the code.
46
743 by Martin Pool
- new simple versioning test cases
47
    for m in bzrlib.selftest.whitebox, \
821 by Martin Pool
- start code for built-in diff3-style resolve
48
            bzrlib.selftest.versioning, \
822 by Martin Pool
- Renamed merge3 test suite for easier access.
49
            bzrlib.selftest.testmerge3:
721 by Martin Pool
- framework for running external commands from unittest suite
50
        suite.addTest(tl.loadTestsFromModule(m))
51
52
    for m in bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, \
821 by Martin Pool
- start code for built-in diff3-style resolve
53
            bzrlib.commands, \
54
            bzrlib.merge3:
721 by Martin Pool
- framework for running external commands from unittest suite
55
        suite.addTest(DocTestSuite(m))
56
783 by Martin Pool
- run blackbox tests last because they're slow
57
    suite.addTest(bzrlib.selftest.blackbox.suite())
58
841 by Martin Pool
- Start splitting bzr-independent parts of the test framework into
59
    return run_suite(suite)
60
61
764 by Martin Pool
- log messages from a particular test are printed if that test fails
62