105
105
self.assertEqualMode(0755, b.control_files._dir_mode)
106
106
self.assertEqualMode(0644, b.control_files._file_mode)
107
self.assertEqualMode(0755, b.bzrdir._get_dir_mode())
108
self.assertEqualMode(0644, b.bzrdir._get_file_mode())
108
110
# Modifying a file shouldn't break the permissions
109
111
open('a', 'wb').write('foo2\n')
125
127
self.assertEqualMode(0775, b.control_files._dir_mode)
126
128
self.assertEqualMode(0664, b.control_files._file_mode)
129
self.assertEqualMode(0775, b.bzrdir._get_dir_mode())
130
self.assertEqualMode(0664, b.bzrdir._get_file_mode())
128
132
open('a', 'wb').write('foo3\n')
143
147
self.assertEqualMode(02775, b.control_files._dir_mode)
144
148
self.assertEqualMode(0664, b.control_files._file_mode)
149
self.assertEqualMode(02775, b.bzrdir._get_dir_mode())
150
self.assertEqualMode(0664, b.bzrdir._get_file_mode())
146
152
open('a', 'wb').write('foo4\n')
152
158
t.commit('new d')
153
159
check_mode_r(self, '.bzr', 0664, 02775)
155
def test_disable_set_mode(self):
156
# TODO: jam 20051215 Ultimately, this test should probably test that
157
# extra chmod calls aren't being made
159
transport = get_transport(self.get_url())
160
transport.put_bytes('my-lock', '')
161
lockable = LockableFiles(transport, 'my-lock', TransportLock)
162
self.assertNotEqual(None, lockable._dir_mode)
163
self.assertNotEqual(None, lockable._file_mode)
165
LockableFiles._set_dir_mode = False
166
transport = get_transport('.')
167
lockable = LockableFiles(transport, 'my-lock', TransportLock)
168
self.assertEqual(None, lockable._dir_mode)
169
self.assertNotEqual(None, lockable._file_mode)
171
LockableFiles._set_file_mode = False
172
transport = get_transport('.')
173
lockable = LockableFiles(transport, 'my-lock', TransportLock)
174
self.assertEqual(None, lockable._dir_mode)
175
self.assertEqual(None, lockable._file_mode)
177
LockableFiles._set_dir_mode = True
178
transport = get_transport('.')
179
lockable = LockableFiles(transport, 'my-lock', TransportLock)
180
self.assertNotEqual(None, lockable._dir_mode)
181
self.assertEqual(None, lockable._file_mode)
183
LockableFiles._set_file_mode = True
184
transport = get_transport('.')
185
lockable = LockableFiles(transport, 'my-lock', TransportLock)
186
self.assertNotEqual(None, lockable._dir_mode)
187
self.assertNotEqual(None, lockable._file_mode)
189
LockableFiles._set_dir_mode = True
190
LockableFiles._set_file_mode = True
193
162
class TestSftpPermissions(TestCaseWithSFTPServer):
217
186
b_local = t.branch
218
187
self.assertEqualMode(0755, b_local.control_files._dir_mode)
219
188
self.assertEqualMode(0644, b_local.control_files._file_mode)
189
self.assertEqualMode(0755, b_local.bzrdir._get_dir_mode())
190
self.assertEqualMode(0644, b_local.bzrdir._get_file_mode())
222
193
sftp_url = self.get_url('sftp')
230
201
b_sftp = Branch.open(sftp_url)
231
202
self.assertEqualMode(0755, b_sftp.control_files._dir_mode)
232
203
self.assertEqualMode(0644, b_sftp.control_files._file_mode)
204
self.assertEqualMode(0755, b_sftp.bzrdir._get_dir_mode())
205
self.assertEqualMode(0644, b_sftp.bzrdir._get_file_mode())
234
207
open('local/a', 'wb').write('foo2\n')
235
208
t_local.commit('foo2')
251
224
b_sftp = Branch.open(sftp_url)
252
225
self.assertEqualMode(0775, b_sftp.control_files._dir_mode)
253
226
self.assertEqualMode(0664, b_sftp.control_files._file_mode)
227
self.assertEqualMode(0775, b_sftp.bzrdir._get_dir_mode())
228
self.assertEqualMode(0664, b_sftp.bzrdir._get_file_mode())
255
230
open('local/a', 'wb').write('foo3\n')
256
231
t_local.commit('foo3')