~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-12-21 11:51:49 UTC
  • mfrom: (5574.4.4 cleanup)
  • Revision ID: pqm@pqm.ubuntu.com-20101221115149-y0jab8xbwmo693gs
(vila) test imports cleanup (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
        % (testtools.__file__, _testtools_version))
61
61
from testtools import content
62
62
 
 
63
import bzrlib
63
64
from bzrlib import (
64
65
    branchbuilder,
65
66
    bzrdir,
66
67
    chk_map,
 
68
    commands as _mod_commands,
67
69
    config,
68
70
    debug,
69
71
    errors,
70
72
    hooks,
71
73
    lock as _mod_lock,
 
74
    lockdir,
72
75
    memorytree,
73
76
    osutils,
 
77
    plugin as _mod_plugin,
74
78
    pyutils,
75
79
    ui,
76
80
    urlutils,
77
81
    registry,
 
82
    symbol_versioning,
 
83
    trace,
78
84
    transport as _mod_transport,
79
85
    workingtree,
80
86
    )
81
 
import bzrlib.branch
82
 
import bzrlib.commands
83
 
import bzrlib.timestamp
84
 
import bzrlib.export
85
 
import bzrlib.inventory
86
 
import bzrlib.iterablefile
87
 
import bzrlib.lockdir
88
87
try:
89
88
    import bzrlib.lsprof
90
89
except ImportError:
91
90
    # lsprof not available
92
91
    pass
93
 
import bzrlib.merge3
94
 
import bzrlib.plugin
95
92
from bzrlib.smart import client, request
96
 
import bzrlib.store
97
 
from bzrlib import symbol_versioning
98
 
from bzrlib.symbol_versioning import (
99
 
    DEPRECATED_PARAMETER,
100
 
    deprecated_function,
101
 
    deprecated_in,
102
 
    deprecated_method,
103
 
    deprecated_passed,
104
 
    )
105
 
import bzrlib.trace
106
93
from bzrlib.transport import (
107
94
    memory,
108
95
    pathfilter,
109
96
    )
110
 
from bzrlib.trace import mutter, note
111
97
from bzrlib.tests import (
112
98
    test_server,
113
99
    TestUtil,
115
101
    )
116
102
from bzrlib.ui import NullProgressView
117
103
from bzrlib.ui.text import TextUIFactory
118
 
import bzrlib.version_info_formats.format_custom
119
104
 
120
105
# Mark this python module as being part of the implementation
121
106
# of unittest: this gives us better tracebacks where the last
1127
1112
        except UnicodeError, e:
1128
1113
            # If we can't compare without getting a UnicodeError, then
1129
1114
            # obviously they are different
1130
 
            mutter('UnicodeError: %s', e)
 
1115
            trace.mutter('UnicodeError: %s', e)
1131
1116
        if message:
1132
1117
            message += '\n'
1133
1118
        raise AssertionError("%snot equal:\na = %s\nb = %s\n"
1193
1178
    def assertLogsError(self, exception_class, func, *args, **kwargs):
1194
1179
        """Assert that func(*args, **kwargs) quietly logs a specific exception.
1195
1180
        """
1196
 
        from bzrlib import trace
1197
1181
        captured = []
1198
1182
        orig_log_exception_quietly = trace.log_exception_quietly
1199
1183
        try:
1493
1477
        The file is removed as the test is torn down.
1494
1478
        """
1495
1479
        self._log_file = StringIO()
1496
 
        self._log_memento = bzrlib.trace.push_log_file(self._log_file)
 
1480
        self._log_memento = trace.push_log_file(self._log_file)
1497
1481
        self.addCleanup(self._finishLogFile)
1498
1482
 
1499
1483
    def _finishLogFile(self):
1501
1485
 
1502
1486
        Close the file and delete it, unless setKeepLogfile was called.
1503
1487
        """
1504
 
        if bzrlib.trace._trace_file:
 
1488
        if trace._trace_file:
1505
1489
            # flush the log file, to get all content
1506
 
            bzrlib.trace._trace_file.flush()
1507
 
        bzrlib.trace.pop_log_file(self._log_memento)
 
1490
            trace._trace_file.flush()
 
1491
        trace.pop_log_file(self._log_memento)
1508
1492
        # Cache the log result and delete the file on disk
1509
1493
        self._get_log(False)
1510
1494
 
1708
1692
            self._benchtime += time.time() - start
1709
1693
 
1710
1694
    def log(self, *args):
1711
 
        mutter(*args)
 
1695
        trace.mutter(*args)
1712
1696
 
1713
1697
    def _get_log(self, keep_log_file=False):
1714
1698
        """Internal helper to get the log from bzrlib.trace for this test.
1799
1783
 
1800
1784
        try:
1801
1785
            try:
1802
 
                result = self.apply_redirected(ui.ui_factory.stdin,
 
1786
                result = self.apply_redirected(
 
1787
                    ui.ui_factory.stdin,
1803
1788
                    stdout, stderr,
1804
 
                    bzrlib.commands.run_bzr_catch_user_errors,
 
1789
                    _mod_commands.run_bzr_catch_user_errors,
1805
1790
                    args)
1806
1791
            except KeyboardInterrupt:
1807
1792
                # Reraise KeyboardInterrupt with contents of redirected stdout
2057
2042
        if retcode is not None and retcode != process.returncode:
2058
2043
            if process_args is None:
2059
2044
                process_args = "(unknown args)"
2060
 
            mutter('Output of bzr %s:\n%s', process_args, out)
2061
 
            mutter('Error for bzr %s:\n%s', process_args, err)
 
2045
            trace.mutter('Output of bzr %s:\n%s', process_args, out)
 
2046
            trace.mutter('Error for bzr %s:\n%s', process_args, err)
2062
2047
            self.fail('Command bzr %s failed with retcode %s != %s'
2063
2048
                      % (process_args, retcode, process.returncode))
2064
2049
        return [out, err]
2121
2106
 
2122
2107
        Tests that expect to provoke LockContention errors should call this.
2123
2108
        """
2124
 
        self.overrideAttr(bzrlib.lockdir, '_DEFAULT_TIMEOUT_SECONDS', 0)
 
2109
        self.overrideAttr(lockdir, '_DEFAULT_TIMEOUT_SECONDS', 0)
2125
2110
 
2126
2111
    def make_utf8_encoded_stringio(self, encoding_type=None):
2127
2112
        """Return a StringIOWrapper instance, that will encode Unicode
3608
3593
                key, obj, help=help, info=info, override_existing=False)
3609
3594
        except KeyError:
3610
3595
            actual = self.get(key)
3611
 
            note('Test prefix alias %s is already used for %s, ignoring %s'
3612
 
                 % (key, actual, obj))
 
3596
            trace.note(
 
3597
                'Test prefix alias %s is already used for %s, ignoring %s'
 
3598
                % (key, actual, obj))
3613
3599
 
3614
3600
    def resolve_alias(self, id_start):
3615
3601
        """Replace the alias by the prefix in the given string.
3939
3925
        suite.addTest(doc_suite)
3940
3926
 
3941
3927
    default_encoding = sys.getdefaultencoding()
3942
 
    for name, plugin in bzrlib.plugin.plugins().items():
 
3928
    for name, plugin in _mod_plugin.plugins().items():
3943
3929
        if not interesting_module(plugin.module.__name__):
3944
3930
            continue
3945
3931
        plugin_suite = plugin.test_suite()
3951
3937
        if plugin_suite is not None:
3952
3938
            suite.addTest(plugin_suite)
3953
3939
        if default_encoding != sys.getdefaultencoding():
3954
 
            bzrlib.trace.warning(
 
3940
            trace.warning(
3955
3941
                'Plugin "%s" tried to reset default encoding to: %s', name,
3956
3942
                sys.getdefaultencoding())
3957
3943
            reload(sys)
3972
3958
            # Some tests mentioned in the list are not in the test suite. The
3973
3959
            # list may be out of date, report to the tester.
3974
3960
            for id in not_found:
3975
 
                bzrlib.trace.warning('"%s" not found in the test suite', id)
 
3961
                trace.warning('"%s" not found in the test suite', id)
3976
3962
        for id in duplicates:
3977
 
            bzrlib.trace.warning('"%s" is used as an id by several tests', id)
 
3963
            trace.warning('"%s" is used as an id by several tests', id)
3978
3964
 
3979
3965
    return suite
3980
3966
 
4318
4304
        return self.module_name
4319
4305
 
4320
4306
 
4321
 
# This is kept here for compatibility, it is recommended to use
4322
 
# 'bzrlib.tests.feature.paramiko' instead
4323
 
ParamikoFeature = _CompatabilityThunkFeature(
4324
 
    deprecated_in((2,1,0)),
4325
 
    'bzrlib.tests.features', 'ParamikoFeature', 'paramiko')
4326
 
 
4327
 
 
4328
4307
def probe_unicode_in_user_encoding():
4329
4308
    """Try to encode several unicode strings to use in unicode-aware tests.
4330
4309
    Return first successfull match.
4517
4496
case_sensitive_filesystem_feature = _CaseSensitiveFilesystemFeature()
4518
4497
 
4519
4498
 
4520
 
# Kept for compatibility, use bzrlib.tests.features.subunit instead
4521
 
SubUnitFeature = _CompatabilityThunkFeature(
4522
 
    deprecated_in((2,1,0)),
4523
 
    'bzrlib.tests.features', 'SubUnitFeature', 'subunit')
4524
4499
# Only define SubUnitBzrRunner if subunit is available.
4525
4500
try:
4526
4501
    from subunit import TestProtocolClient