~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/transport_util.py

  • Committer: Vincent Ladeuil
  • Date: 2010-01-25 15:55:48 UTC
  • mto: (4985.1.4 add-attr-cleanup)
  • mto: This revision was merged to the branch mainline in revision 4988.
  • Revision ID: v.ladeuil+lp@free.fr-20100125155548-0l352pujvt5bzl5e
Deploy addAttrCleanup on the whole test suite.

Several use case worth mentioning:

- setting a module or any other object attribute is the majority
by far. In some cases the setting itself is deferred but most of
the time we want to set at the same time we add the cleanup.

- there multiple occurrences of protecting hooks or ui factory
which are now useless (the test framework takes care of that now),

- there was some lambda uses that can now be avoided.

That first cleanup already simplifies things a lot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
100
100
    def setUp(self):
101
101
        register_urlparse_netloc_protocol(_hooked_scheme)
102
102
        register_transport(_hooked_scheme, ConnectionHookedTransport)
103
 
 
104
 
        def unregister():
105
 
            unregister_transport(_hooked_scheme, ConnectionHookedTransport)
106
 
            _unregister_urlparse_netloc_protocol(_hooked_scheme)
107
 
 
108
 
        self.addCleanup(unregister)
 
103
        self.addCleanup(unregister_transport, _hooked_scheme,
 
104
                        ConnectionHookedTransport)
 
105
        self.addCleanup(_unregister_urlparse_netloc_protocol, _hooked_scheme)
109
106
        super(TestCaseWithConnectionHookedTransport, self).setUp()
110
107
        self.reset_connections()
111
108
        # Add the 'hooked' url to the permitted url list.
128
125
        return url
129
126
 
130
127
    def start_logging_connections(self):
 
128
        self.addAttrCleanup(InstrumentedTransport, 'hooks')
131
129
        ConnectionHookedTransport.hooks.install_named_hook(
132
130
            '_set_connection', self._collect_connection, None)
133
 
        # uninstall our hooks when we are finished
134
 
        self.addCleanup(self.reset_hooks)
135
 
 
136
 
    def reset_hooks(self):
137
 
        InstrumentedTransport.hooks = TransportHooks()
138
131
 
139
132
    def reset_connections(self):
140
133
        self.connections = []