@@ -246,9 +246,27 @@ def test_missing_data(self):
246
246
_delete_files ()
247
247
with self .assertRaises (FileNotFoundError ):
248
248
dumbdbm .open (_fname , value )
249
+ self .assertFalse (os .path .exists (_fname + '.dat' ))
249
250
self .assertFalse (os .path .exists (_fname + '.dir' ))
250
251
self .assertFalse (os .path .exists (_fname + '.bak' ))
251
252
253
+ for value in ('c' , 'n' ):
254
+ _delete_files ()
255
+ with dumbdbm .open (_fname , value ) as f :
256
+ self .assertTrue (os .path .exists (_fname + '.dat' ))
257
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
258
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
259
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
260
+
261
+ for value in ('c' , 'n' ):
262
+ _delete_files ()
263
+ with dumbdbm .open (_fname , value ) as f :
264
+ f ['key' ] = 'value'
265
+ self .assertTrue (os .path .exists (_fname + '.dat' ))
266
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
267
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
268
+ self .assertTrue (os .path .exists (_fname + '.bak' ))
269
+
252
270
def test_missing_index (self ):
253
271
with dumbdbm .open (_fname , 'n' ) as f :
254
272
pass
@@ -259,6 +277,60 @@ def test_missing_index(self):
259
277
self .assertFalse (os .path .exists (_fname + '.dir' ))
260
278
self .assertFalse (os .path .exists (_fname + '.bak' ))
261
279
280
+ for value in ('c' , 'n' ):
281
+ with dumbdbm .open (_fname , value ) as f :
282
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
283
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
284
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
285
+ os .unlink (_fname + '.dir' )
286
+
287
+ for value in ('c' , 'n' ):
288
+ with dumbdbm .open (_fname , value ) as f :
289
+ f ['key' ] = 'value'
290
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
291
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
292
+ self .assertTrue (os .path .exists (_fname + '.bak' ))
293
+ os .unlink (_fname + '.dir' )
294
+ os .unlink (_fname + '.bak' )
295
+
296
+ def test_sync_empty_unmodified (self ):
297
+ with dumbdbm .open (_fname , 'n' ) as f :
298
+ pass
299
+ os .unlink (_fname + '.dir' )
300
+ for value in ('c' , 'n' ):
301
+ with dumbdbm .open (_fname , value ) as f :
302
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
303
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
304
+ f .sync ()
305
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
306
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
307
+ os .unlink (_fname + '.dir' )
308
+ f .sync ()
309
+ self .assertFalse (os .path .exists (_fname + '.dir' ))
310
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
311
+ self .assertFalse (os .path .exists (_fname + '.dir' ))
312
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
313
+
314
+ def test_sync_nonempty_unmodified (self ):
315
+ with dumbdbm .open (_fname , 'n' ) as f :
316
+ pass
317
+ os .unlink (_fname + '.dir' )
318
+ for value in ('c' , 'n' ):
319
+ with dumbdbm .open (_fname , value ) as f :
320
+ f ['key' ] = 'value'
321
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
322
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
323
+ f .sync ()
324
+ self .assertTrue (os .path .exists (_fname + '.dir' ))
325
+ self .assertTrue (os .path .exists (_fname + '.bak' ))
326
+ os .unlink (_fname + '.dir' )
327
+ os .unlink (_fname + '.bak' )
328
+ f .sync ()
329
+ self .assertFalse (os .path .exists (_fname + '.dir' ))
330
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
331
+ self .assertFalse (os .path .exists (_fname + '.dir' ))
332
+ self .assertFalse (os .path .exists (_fname + '.bak' ))
333
+
262
334
def test_invalid_flag (self ):
263
335
for flag in ('x' , 'rf' , None ):
264
336
with self .assertRaisesRegex (ValueError ,
0 commit comments