Some quick notes without getting into a proper review:
Main concern is that I think the doctests need more of bzrlib.tests.TestCase.setUp to be properly isolated, not just the _cleanEnvironment call, or perhaps even TestCaseWithMemoryTransport.setUp equivalent. This would mean pulling a lot more code off the TestCase class so it could be shared. I'm particularly thinking of TestCase._clear_hooks and similar things. Not having cleanUp usable from doctest setUp without clever hacks is particularly annoying.
+ 'http_proxy': None,
+ 'HTTP_PROXY': None,
Scope creepitis: I'd much prefer this was handled by the osutils.set_or_unset_env or similar, platforms without case sensitive environments shouldn't have to do extra work.
Some quick notes without getting into a proper review:
Main concern is that I think the doctests need more of bzrlib. tests.TestCase. setUp to be properly isolated, not just the _cleanEnvironment call, or perhaps even TestCaseWithMem oryTransport. setUp equivalent. This would mean pulling a lot more code off the TestCase class so it could be shared. I'm particularly thinking of TestCase. _clear_ hooks and similar things. Not having cleanUp usable from doctest setUp without clever hacks is particularly annoying.
+ 'http_proxy': None,
+ 'HTTP_PROXY': None,
Scope creepitis: I'd much prefer this was handled by the osutils. set_or_ unset_env or similar, platforms without case sensitive environments shouldn't have to do extra work.