Rev 5902: (jameinel) Cleanup the log infrastructure to reduce the chance of in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Fri May 20 12:37:35 UTC 2011
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 5902 [merge]
revision-id: pqm at pqm.ubuntu.com-20110520123724-hamrkqa9gtyazxyl
parent: pqm at pqm.ubuntu.com-20110520110731-8slefcqat6dr3asl
parent: john at arbash-meinel.com-20110519185007-yzrct57glwjip8co
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2011-05-20 12:37:24 +0000
message:
(jameinel) Cleanup the log infrastructure to reduce the chance of
self-cycles. (John A Meinel)
modified:
bzrlib/tests/blackbox/test_breakin.py test_breakin.py-20070424043903-qyy6zm4pj3h4sbp3-1
bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
bzrlib/tests/blackbox/test_serve.py test_serve.py-20060913064329-8t2pvmsikl4s3xhl-1
bzrlib/tests/per_repository_vf/test_check.py test_check.py-20110419124438-wxrtlhv70k7rxhg3-1
bzrlib/tests/test_chk_map.py test_chk_map.py-20081001014447-ue6kkuhofvdecvxa-2
bzrlib/tests/test_clean_tree.py test_clean_tree.py-20060603174249-ozlk5sl2166opxbk-1
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_registry.py test_lazy_factory.py-20060809213415-2gfvqadtvdn0phtg-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
=== modified file 'bzrlib/tests/blackbox/test_breakin.py'
--- a/bzrlib/tests/blackbox/test_breakin.py 2010-08-14 21:06:04 +0000
+++ b/bzrlib/tests/blackbox/test_breakin.py 2011-05-19 18:50:07 +0000
@@ -42,6 +42,10 @@
def setUp(self):
super(TestBreakin, self).setUp()
self.requireFeature(tests.BreakinFeature)
+ if sys.platform == 'win32':
+ self._send_signal = self._send_signal_win32
+ else:
+ self._send_signal = self._send_signal_via_kill
def _send_signal_via_kill(self, pid, sig_type):
if sig_type == 'break':
@@ -85,11 +89,6 @@
exit_code = breakin.determine_signal()
ctypes.windll.kernel32.TerminateProcess(pid, exit_code)
- if sys.platform == 'win32':
- _send_signal = _send_signal_win32
- else:
- _send_signal = _send_signal_via_kill
-
def _popen(self, *args, **kwargs):
if sys.platform == 'win32':
CREATE_NEW_PROCESS_GROUP = 512
=== modified file 'bzrlib/tests/blackbox/test_exceptions.py'
--- a/bzrlib/tests/blackbox/test_exceptions.py 2011-05-18 18:57:24 +0000
+++ b/bzrlib/tests/blackbox/test_exceptions.py 2011-05-19 18:50:07 +0000
@@ -123,7 +123,7 @@
check = self.assertContainsRe
else:
check = self.assertNotContainsRe
- check(self.get_log(), 'WARNING.*bzr upgrade')
+ check(self._get_log(keep_log_file=True), 'WARNING.*bzr upgrade')
def test_repository_deprecation_warning(self):
"""Old formats give a warning"""
=== modified file 'bzrlib/tests/blackbox/test_log.py'
--- a/bzrlib/tests/blackbox/test_log.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/blackbox/test_log.py 2011-05-19 18:50:07 +0000
@@ -75,8 +75,6 @@
self.log_catcher = test_log.LogCatcher(*args, **kwargs)
# Always return our own log formatter
return self.log_catcher
- # Break cycle with closure over self on cleanup by removing method
- self.addCleanup(setattr, MyLogFormatter, "__new__", None)
def getme(branch):
# Always return our own log formatter class hijacking the
=== modified file 'bzrlib/tests/blackbox/test_serve.py'
--- a/bzrlib/tests/blackbox/test_serve.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/blackbox/test_serve.py 2011-05-19 18:50:07 +0000
@@ -274,8 +274,7 @@
class TestUserdirExpansion(TestCaseWithMemoryTransport):
- @staticmethod
- def fake_expanduser(path):
+ def fake_expanduser(self, path):
"""A simple, environment-independent, function for the duration of this
test.
=== modified file 'bzrlib/tests/per_repository_vf/test_check.py'
--- a/bzrlib/tests/per_repository_vf/test_check.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/per_repository_vf/test_check.py 2011-05-19 18:50:07 +0000
@@ -104,8 +104,8 @@
needed_refs.setdefault(ref, []).append(tree.branch)
self.tree_check = tree._check
self.branch_check = tree.branch.check
- self.overrideAttr(tree, "_check", self.tree_callback)
- self.overrideAttr(tree.branch, "check", self.branch_callback)
+ tree._check = self.tree_callback
+ tree.branch.check = self.branch_callback
self.callbacks = []
tree.branch.repository.check([revid], callback_refs=needed_refs)
self.assertNotEqual([], self.callbacks)
=== modified file 'bzrlib/tests/test_chk_map.py'
--- a/bzrlib/tests/test_chk_map.py 2010-11-12 15:26:01 +0000
+++ b/bzrlib/tests/test_chk_map.py 2011-05-19 18:50:07 +0000
@@ -1108,7 +1108,7 @@
basis_get = basis._store.get_record_stream
def get_record_stream(keys, order, fulltext):
if ('sha1:1adf7c0d1b9140ab5f33bb64c6275fa78b1580b7',) in keys:
- raise AssertionError("'aaa' pointer was followed %r" % keys)
+ self.fail("'aaa' pointer was followed %r" % keys)
return basis_get(keys, order, fulltext)
basis._store.get_record_stream = get_record_stream
result = sorted(list(target.iter_changes(basis)))
=== modified file 'bzrlib/tests/test_clean_tree.py'
--- a/bzrlib/tests/test_clean_tree.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_clean_tree.py 2011-05-19 18:50:07 +0000
@@ -98,6 +98,7 @@
def _dummy_rmtree(path, ignore_errors=False, onerror=None):
"""Call user supplied error handler onerror.
"""
+ self.assertTrue(isinstance(onerror, types.FunctionType))
# Indicate failure in removing 'path' if path is subdir0
# We later check to ensure that this is indicated
# to the user as a warning. We raise OSError to construct
=== modified file 'bzrlib/tests/test_http.py'
--- a/bzrlib/tests/test_http.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_http.py 2011-05-19 18:50:07 +0000
@@ -2013,12 +2013,11 @@
tests.TestCase.setUp(self)
self.server = self._activity_server(self._protocol_version)
self.server.start_server()
- _activities = {} # Don't close over self and create a cycle
+ self.activities = {}
def report_activity(t, bytes, direction):
- count = _activities.get(direction, 0)
+ count = self.activities.get(direction, 0)
count += bytes
- _activities[direction] = count
- self.activities = _activities
+ self.activities[direction] = count
# We override at class level because constructors may propagate the
# bound method and render instance overriding ineffective (an
=== modified file 'bzrlib/tests/test_merge.py'
--- a/bzrlib/tests/test_merge.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_merge.py 2011-05-19 18:50:07 +0000
@@ -2863,14 +2863,14 @@
def get_merger_factory(self):
# Allows the inner methods to access the test attributes
- calls = self.calls
+ test = self
class FooMerger(_mod_merge.ConfigurableFileMerger):
name_prefix = "foo"
default_files = ['bar']
def merge_text(self, params):
- calls.append('merge_text')
+ test.calls.append('merge_text')
return ('not_applicable', None)
def factory(merger):
=== modified file 'bzrlib/tests/test_registry.py'
--- a/bzrlib/tests/test_registry.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_registry.py 2011-05-19 18:50:07 +0000
@@ -215,13 +215,11 @@
# We create a registry with "official" objects and "hidden"
# objects. The later represent the side effects that led to bug #277048
# and #430510
- _registry = registry.Registry()
+ self.registry = registry.Registry()
def register_more():
- _registry.register('hidden', None)
+ self.registry.register('hidden', None)
- # Avoid closing over self by binding local variable
- self.registry = _registry
self.registry.register('passive', None)
self.registry.register('active', register_more)
self.registry.register('passive-too', None)
@@ -231,7 +229,7 @@
def get_obj(inner_self):
# Surprise ! Getting a registered object (think lazy loaded
# module) register yet another object !
- _registry.register('more hidden', None)
+ self.registry.register('more hidden', None)
return inner_self._obj
self.registry.register('hacky', None)
=== modified file 'bzrlib/tests/test_repository.py'
--- a/bzrlib/tests/test_repository.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_repository.py 2011-05-19 18:50:07 +0000
@@ -1602,7 +1602,7 @@
self.addCleanup(target.unlock)
source = source_tree.branch.repository._get_source(target._format)
self.orig_pack = target.pack
- self.overrideAttr(target, "pack", self.log_pack)
+ target.pack = self.log_pack
search = target.search_missing_revision_ids(
source_tree.branch.repository, revision_ids=[tip])
stream = source.get_stream(search)
@@ -1626,7 +1626,7 @@
self.addCleanup(target.unlock)
source = source_tree.branch.repository
self.orig_pack = target.pack
- self.overrideAttr(target, "pack", self.log_pack)
+ target.pack = self.log_pack
target.fetch(source)
if expect_pack_called:
self.assertLength(1, self.calls)
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py 2011-05-20 11:07:31 +0000
+++ b/bzrlib/tests/test_selftest.py 2011-05-20 12:37:24 +0000
@@ -36,7 +36,7 @@
DocTestMatches,
Equals,
)
-import testtools.testresult.doubles
+import testtools.tests.helpers
import bzrlib
from bzrlib import (
@@ -721,7 +721,7 @@
def test_profiles_tests(self):
self.requireFeature(test_lsprof.LSProfFeature)
- terminal = testtools.testresult.doubles.ExtendedTestResult()
+ terminal = testtools.tests.helpers.ExtendedTestResult()
result = tests.ProfileResult(terminal)
class Sample(tests.TestCase):
def a(self):
@@ -744,7 +744,7 @@
descriptions=0,
verbosity=1,
)
- capture = testtools.testresult.doubles.ExtendedTestResult()
+ capture = testtools.tests.helpers.ExtendedTestResult()
test_case.run(MultiTestResult(result, capture))
run_case = capture._events[0][1]
timed_string = result._testTimeString(run_case)
@@ -1045,7 +1045,7 @@
test = unittest.TestSuite()
test.addTest(Test("known_failure_test"))
def failing_test():
- raise AssertionError('foo')
+ self.fail('foo')
test.addTest(unittest.FunctionTestCase(failing_test))
stream = StringIO()
runner = tests.TextTestRunner(stream=stream)
@@ -1059,7 +1059,7 @@
'^----------------------------------------------------------------------\n'
'Traceback \\(most recent call last\\):\n'
' .*' # File .*, line .*, in failing_test' - but maybe not from .pyc
- ' raise AssertionError\\(\'foo\'\\)\n'
+ ' self.fail\\(\'foo\'\\)\n'
'.*'
'^----------------------------------------------------------------------\n'
'.*'
@@ -1071,7 +1071,7 @@
# the final output.
class Test(tests.TestCase):
def known_failure_test(self):
- self.knownFailure("Never works...")
+ self.expectFailure('failed', self.assertTrue, False)
test = Test("known_failure_test")
stream = StringIO()
runner = tests.TextTestRunner(stream=stream)
@@ -2037,17 +2037,17 @@
def test_lsprof_tests(self):
self.requireFeature(test_lsprof.LSProfFeature)
- results = []
+ calls = []
class Test(object):
def __call__(test, result):
test.run(result)
def run(test, result):
- results.append(result)
+ self.assertIsInstance(result, ExtendedToOriginalDecorator)
+ calls.append("called")
def countTestCases(self):
return 1
self.run_selftest(test_suite_factory=Test, lsprof_tests=True)
- self.assertLength(1, results)
- self.assertIsInstance(results.pop(), ExtendedToOriginalDecorator)
+ self.assertLength(1, calls)
def test_random(self):
# test randomising by listing a number of tests.
=== modified file 'bzrlib/tests/test_smart.py'
--- a/bzrlib/tests/test_smart.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_smart.py 2011-05-19 18:50:07 +0000
@@ -99,7 +99,7 @@
# the default or a parameterized class, but rather use the
# TestCaseWithTransport infrastructure to set up a smart server and
# transport.
- self.overrideAttr(self, "transport_server", self.make_transport_server)
+ self.transport_server = self.make_transport_server
def make_transport_server(self):
return test_server.SmartTCPServer_for_testing('-' + self.id())
=== modified file 'bzrlib/tests/test_smart_transport.py'
--- a/bzrlib/tests/test_smart_transport.py 2011-05-18 18:49:43 +0000
+++ b/bzrlib/tests/test_smart_transport.py 2011-05-19 18:50:07 +0000
@@ -1493,7 +1493,6 @@
smart_protocol._has_dispatched = True
smart_protocol.request = _mod_request.SmartServerRequestHandler(
None, _mod_request.request_handlers, '/')
- # GZ 2010-08-10: Cycle with closure affects 4 tests
class FakeCommand(_mod_request.SmartServerRequest):
def do_body(self_cmd, body_bytes):
self.end_received = True
=== modified file 'bzrlib/tests/test_workingtree_4.py'
--- a/bzrlib/tests/test_workingtree_4.py 2011-05-20 11:07:31 +0000
+++ b/bzrlib/tests/test_workingtree_4.py 2011-05-20 12:37:24 +0000
@@ -174,9 +174,9 @@
# it's given; any calls to forbidden methods will raise an
# AssertionError
repo = tree.branch.repository
- self.overrideAttr(repo, "get_revision", self.fail)
- self.overrideAttr(repo, "get_inventory", self.fail)
- self.overrideAttr(repo, "_get_inventory_xml", self.fail)
+ repo.get_revision = self.fail
+ repo.get_inventory = self.fail
+ repo._get_inventory_xml = self.fail
# try to set the parent trees.
tree.set_parent_trees([(rev1, rev1_tree)])
@@ -214,8 +214,8 @@
# answer 'get_parent_ids' for the revision tree- dirstate does not
# cache the parents of a parent tree at this point.
#repo.get_revision = self.fail
- self.overrideAttr(repo, "get_inventory", self.fail)
- self.overrideAttr(repo, "_get_inventory_xml", self.fail)
+ repo.get_inventory = self.fail
+ repo._get_inventory_xml = self.fail
# set the parent trees.
tree.set_parent_trees([(rev1, rev1_tree), (rev2, rev2_tree)])
# read the first tree
More information about the bazaar-commits
mailing list