/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tools/capture_tree.py

  • Committer: v.ladeuil+lp at free
  • Date: 2006-10-04 09:40:03 UTC
  • mto: (2145.1.1 keepalive)
  • mto: This revision was merged to the branch mainline in revision 2146.
  • Revision ID: v.ladeuil+lp@free.fr-20061004094003-4a058914ddf1401a
Better design for bogus servers. Both urllib and pycurl pass tests.

* bzrlib/transport/http/_urllib2_wrappers.py:
(ConnectionHandler.create_connection): Raise InvalidURL instead of
urllib2.URLError.
(AbstractHTTPHandler.http_request): New method to override default
urllib2 headers.

* bzrlib/tests/test_http.py:
(TestHttpConnections): Renamed from HttpMixins. Note that this class
should be inherited by a class that also inherit from
TestCaseWithWebserver, this was already the case, but that's now
mentioned in the doc string.
(TestHttpConnections.test_has_on_bogus_host): Moved from
TestHttpConnections_urllib to TestHttpConnections so that pycurl get
tested too.
(TestWithTransport_pycurl): New class to share the pycurl dependency
testing when creating test cases for pycurl.
(TestHttpConnections_urllib, TestHttpConnections_pycurl): Simplified
accordingly.
(TestWallServer, TestWallServer_urllib, TestWallServer_pycurl): Use the
same pattern as TestHttpConnections to share tests between urllib and
pycurl.

* bzrlib/errors.py: 
(ConnectionError): Yes, the 'Connection error' part seems redundant
with the leading ConnectionError in the message, but so far, at least
one test (SSHVendorBadConnection.test_bad_connection_ssh) relies on it
and I don't know if suppressing this redundancy is the best way to
solve the problem.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/env python2.4
 
2
 
 
3
# Copyright (C) 2005 Canonical Ltd
 
4
 
 
5
"""Print to stdout a description of the current directory, 
 
6
formatted as a Python data structure.
 
7
 
 
8
This can be useful in tests that need to recreate directory
 
9
contents."""
 
10
 
 
11
import sys
 
12
import os
 
13
 
 
14
from bzrlib.trace import enable_default_logging
 
15
enable_default_logging()
 
16
from bzrlib.selftest.treeshape import capture_tree_contents
 
17
 
 
18
def main(argv):
 
19
    # a lame reimplementation of pformat that splits multi-line
 
20
    # strings into concatenated string literals.
 
21
    print '['
 
22
    for tt in capture_tree_contents('.'):
 
23
        assert isinstance(tt, tuple)
 
24
        print '    (', repr(tt[0]) + ',',
 
25
        if len(tt) == 1:
 
26
            print '),'
 
27
        else:
 
28
            assert len(tt) == 2
 
29
            val = tt[1]
 
30
            print
 
31
            if val == '':
 
32
                print "        ''"
 
33
            else:
 
34
                for valline in val.splitlines(True):
 
35
                    print '       ', repr(valline)
 
36
            print '    ),'
 
37
    print ']'
 
38
 
 
39
if __name__ == '__main__':
 
40
    sys.exit(main(sys.argv))