75
75
def check_transport_contents(self, content, transport, relpath):
76
76
"""Check that transport.get(relpath).read() == content."""
77
self.assertEqual(content, transport.get(relpath).read())
77
self.assertEqualDiff(content, transport.get(relpath).read())
79
79
def get_transport(self):
80
80
"""Return a connected transport to the local directory."""
88
88
def assertListRaises(self, excClass, func, *args, **kwargs):
89
"""Many transport functions can return generators this makes sure
89
"""Fail unless excClass is raised when the iterator from func is used.
91
Many transport functions can return generators this makes sure
90
92
to wrap them in a list() call to make sure the whole generator
91
93
is run, and that the proper exception is raised.
178
180
if t.is_readonly():
180
182
t.put('mode644', StringIO('test text\n'), mode=0644)
181
self.assertMode(t, 'mode644', 0644)
183
self.assertTransportMode(t, 'mode644', 0644)
182
184
t.put('mode666', StringIO('test text\n'), mode=0666)
183
self.assertMode(t, 'mode666', 0666)
185
self.assertTransportMode(t, 'mode666', 0666)
184
186
t.put('mode600', StringIO('test text\n'), mode=0600)
185
self.assertMode(t, 'mode600', 0600)
187
self.assertTransportMode(t, 'mode600', 0600)
186
188
# Yes, you can put a file such that it becomes readonly
187
189
t.put('mode400', StringIO('test text\n'), mode=0400)
188
self.assertMode(t, 'mode400', 0400)
190
self.assertTransportMode(t, 'mode400', 0400)
189
191
t.put_multi([('mmode644', StringIO('text\n'))], mode=0644)
190
self.assertMode(t, 'mmode644', 0644)
192
self.assertTransportMode(t, 'mmode644', 0644)
192
194
def test_mkdir(self):
193
195
t = self.get_transport()
244
246
# Test mkdir with a mode
245
247
t.mkdir('dmode755', mode=0755)
246
self.assertMode(t, 'dmode755', 0755)
248
self.assertTransportMode(t, 'dmode755', 0755)
247
249
t.mkdir('dmode555', mode=0555)
248
self.assertMode(t, 'dmode555', 0555)
250
self.assertTransportMode(t, 'dmode555', 0555)
249
251
t.mkdir('dmode777', mode=0777)
250
self.assertMode(t, 'dmode777', 0777)
252
self.assertTransportMode(t, 'dmode777', 0777)
251
253
t.mkdir('dmode700', mode=0700)
252
self.assertMode(t, 'dmode700', 0700)
254
self.assertTransportMode(t, 'dmode700', 0700)
253
255
# TODO: jam 20051215 test mkdir_multi with a mode
254
256
t.mkdir_multi(['mdmode755'], mode=0755)
255
self.assertMode(t, 'mdmode755', 0755)
257
self.assertTransportMode(t, 'mdmode755', 0755)
257
259
def test_copy_to(self):
258
260
from bzrlib.transport.memory import MemoryTransport
271
273
# Test that copying into a missing directory raises
273
275
if t.is_readonly():
275
open('e/f', 'wb').write('contents of e')
276
self.build_tree(['e/', 'e/f'])
278
279
t.put('e/f', StringIO('contents of e'))
294
295
temp_transport = MemoryTransport("memory:/")
295
296
t.copy_to(files, temp_transport, mode=mode)
297
self.assertMode(temp_transport, f, mode)
298
self.assertTransportMode(temp_transport, f, mode)
299
300
def test_append(self):
300
301
t = self.get_transport()