~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_transport.py

  • Committer: Martin
  • Date: 2011-04-15 21:22:57 UTC
  • mto: This revision was merged to the branch mainline in revision 5797.
  • Revision ID: gzlist@googlemail.com-20110415212257-jgtovwwp4be7egd9
Add release notes

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005-2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
32
32
    osutils,
33
33
    pyutils,
34
34
    tests,
 
35
    transport as _mod_transport,
35
36
    urlutils,
36
37
    )
37
38
from bzrlib.errors import (ConnectionError,
52
53
from bzrlib.tests.test_transport import TestTransportImplementation
53
54
from bzrlib.transport import (
54
55
    ConnectedTransport,
55
 
    get_transport,
56
56
    _get_transport_modules,
57
57
    )
58
58
from bzrlib.transport.memory import MemoryTransport
98
98
 
99
99
    def setUp(self):
100
100
        super(TransportTests, self).setUp()
101
 
        self._captureVar('BZR_NO_SMART_VFS', None)
 
101
        self.overrideEnv('BZR_NO_SMART_VFS', None)
102
102
 
103
103
    def check_transport_contents(self, content, transport, relpath):
104
 
        """Check that transport.get(relpath).read() == content."""
105
 
        self.assertEqualDiff(content, transport.get(relpath).read())
 
104
        """Check that transport.get_bytes(relpath) == content."""
 
105
        self.assertEqualDiff(content, transport.get_bytes(relpath))
106
106
 
107
107
    def test_ensure_base_missing(self):
108
108
        """.ensure_base() should create the directory if it doesn't exist"""
256
256
        handle = t.open_write_stream('foo')
257
257
        try:
258
258
            handle.write('b')
259
 
            self.assertEqual('b', t.get('foo').read())
 
259
            self.assertEqual('b', t.get_bytes('foo'))
260
260
        finally:
261
261
            handle.close()
262
262
 
268
268
        try:
269
269
            handle.write('b')
270
270
            self.assertEqual('b', t.get_bytes('foo'))
271
 
            self.assertEqual('b', t.get('foo').read())
 
271
            f = t.get('foo')
 
272
            try:
 
273
                self.assertEqual('b', f.read())
 
274
            finally:
 
275
                f.close()
272
276
        finally:
273
277
            handle.close()
274
278
 
640
644
            self.build_tree(files, transport=transport_from)
641
645
            self.assertEqual(4, transport_from.copy_to(files, transport_to))
642
646
            for f in files:
643
 
                self.check_transport_contents(transport_to.get(f).read(),
 
647
                self.check_transport_contents(transport_to.get_bytes(f),
644
648
                                              transport_from, f)
645
649
 
646
650
        t = self.get_transport()
669
673
        files = ['a', 'b', 'c', 'd']
670
674
        t.copy_to(iter(files), temp_transport)
671
675
        for f in files:
672
 
            self.check_transport_contents(temp_transport.get(f).read(),
 
676
            self.check_transport_contents(temp_transport.get_bytes(f),
673
677
                                          t, f)
674
678
        del temp_transport
675
679
 
1037
1041
        except NotImplementedError:
1038
1042
            raise TestSkipped("Transport %s has no bogus URL support." %
1039
1043
                              self._server.__class__)
1040
 
        t = get_transport(url)
 
1044
        t = _mod_transport.get_transport(url)
1041
1045
        self.assertRaises((ConnectionError, NoSuchFile), t.get, '.bzr/branch')
1042
1046
 
1043
1047
    def test_stat(self):
1394
1398
        self.assertEqual(transport.clone("/").abspath('foo'),
1395
1399
                         transport.abspath("/foo"))
1396
1400
 
 
1401
    # GZ 2011-01-26: Test in per_transport but not using self.get_transport?
1397
1402
    def test_win32_abspath(self):
1398
1403
        # Note: we tried to set sys.platform='win32' so we could test on
1399
1404
        # other platforms too, but then osutils does platform specific
1404
1409
 
1405
1410
        # smoke test for abspath on win32.
1406
1411
        # a transport based on 'file:///' never fully qualifies the drive.
1407
 
        transport = get_transport("file:///")
 
1412
        transport = _mod_transport.get_transport("file:///")
1408
1413
        self.failUnlessEqual(transport.abspath("/"), "file:///")
1409
1414
 
1410
1415
        # but a transport that starts with a drive spec must keep it.
1411
 
        transport = get_transport("file:///C:/")
 
1416
        transport = _mod_transport.get_transport("file:///C:/")
1412
1417
        self.failUnlessEqual(transport.abspath("/"), "file:///C:/")
1413
1418
 
1414
1419
    def test_local_abspath(self):