~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_transport.py

  • Committer: John Arbash Meinel
  • Date: 2010-01-12 22:36:23 UTC
  • mfrom: (4953 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4955.
  • Revision ID: john@arbash-meinel.com-20100112223623-836x5mou0gm5vsep
merge bzr.dev 4953 to clean up the ui factory issues

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2004, 2005, 2006, 2007 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
52
52
    TestNotApplicable,
53
53
    multiply_tests,
54
54
    )
55
 
from bzrlib.tests import test_server
56
55
from bzrlib.tests.test_transport import TestTransportImplementation
57
56
from bzrlib.transport import (
58
57
    ConnectedTransport,
171
170
        self.assertEqual(True, t.has_any(['b', 'b', 'b']))
172
171
 
173
172
    def test_has_root_works(self):
174
 
        if self.transport_server is test_server.SmartTCPServer_for_testing:
 
173
        from bzrlib.smart import server
 
174
        if self.transport_server is server.SmartTCPServer_for_testing:
175
175
            raise TestNotApplicable(
176
176
                "SmartTCPServer_for_testing intentionally does not allow "
177
177
                "access to /.")
1083
1083
        subdir.stat('./file')
1084
1084
        subdir.stat('.')
1085
1085
 
1086
 
    def test_hardlink(self):
1087
 
        from stat import ST_NLINK
1088
 
 
1089
 
        t = self.get_transport()
1090
 
 
1091
 
        source_name = "original_target"
1092
 
        link_name = "target_link"
1093
 
 
1094
 
        self.build_tree([source_name], transport=t)
1095
 
 
1096
 
        try:
1097
 
            t.hardlink(source_name, link_name)
1098
 
 
1099
 
            self.failUnless(t.has(source_name))
1100
 
            self.failUnless(t.has(link_name))
1101
 
 
1102
 
            st = t.stat(link_name)
1103
 
            self.failUnlessEqual(st[ST_NLINK], 2)
1104
 
        except TransportNotPossible:
1105
 
            raise TestSkipped("Transport %s does not support hardlinks." %
1106
 
                              self._server.__class__)
1107
 
 
1108
 
    def test_symlink(self):
1109
 
        from stat import S_ISLNK
1110
 
 
1111
 
        t = self.get_transport()
1112
 
 
1113
 
        source_name = "original_target"
1114
 
        link_name = "target_link"
1115
 
 
1116
 
        self.build_tree([source_name], transport=t)
1117
 
 
1118
 
        try:
1119
 
            t.symlink(source_name, link_name)
1120
 
 
1121
 
            self.failUnless(t.has(source_name))
1122
 
            self.failUnless(t.has(link_name))
1123
 
 
1124
 
            st = t.stat(link_name)
1125
 
            self.failUnless(S_ISLNK(st.st_mode))
1126
 
        except TransportNotPossible:
1127
 
            raise TestSkipped("Transport %s does not support symlinks." %
1128
 
                              self._server.__class__)
1129
 
        except IOError:
1130
 
            raise tests.KnownFailure("Paramiko fails to create symlinks during tests")
1131
 
 
1132
1086
    def test_list_dir(self):
1133
1087
        # TODO: Test list_dir, just try once, and if it throws, stop testing
1134
1088
        t = self.get_transport()