@@ -419,19 +419,22 @@ def test_keep_file_open_auto():
419
419
fname = 'testdata.gz'
420
420
with gzip .open (fname , 'wb' ) as fobj :
421
421
fobj .write (data .tostring (order = 'F' ))
422
- # If have_indexed_gzip, then keep_file_open should be True
423
- with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
424
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
425
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
426
- create = True ):
427
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ), keep_file_open = 'auto' )
428
- assert proxy ._keep_file_open
429
- # If no have_indexed_gzip, then keep_file_open should be False
430
- with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
431
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
432
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None , create = True ):
433
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ), keep_file_open = 'auto' )
434
- assert not proxy ._keep_file_open
422
+ # If have_indexed_gzip, then keep_file_open should be True
423
+ with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
424
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
425
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
426
+ create = True ):
427
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ),
428
+ keep_file_open = 'auto' )
429
+ assert proxy ._keep_file_open
430
+ # If no have_indexed_gzip, then keep_file_open should be False
431
+ with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
432
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
433
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None ,
434
+ create = True ):
435
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ),
436
+ keep_file_open = 'auto' )
437
+ assert not proxy ._keep_file_open
435
438
436
439
437
440
def test_keep_file_open_default ():
@@ -443,55 +446,62 @@ def test_keep_file_open_default():
443
446
fname = 'testdata.gz'
444
447
with gzip .open (fname , 'wb' ) as fobj :
445
448
fobj .write (data .tostring (order = 'F' ))
446
- # The default value of KEEP_FILE_OPEN_DEFAULT should cause keep_file_open
447
- # to be False, regardless of whether or not indexed_gzip is present
448
- assert KEEP_FILE_OPEN_DEFAULT is False
449
- with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
450
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
451
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None , create = True ):
452
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
453
- assert not proxy ._keep_file_open
454
- with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
455
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
456
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
457
- create = True ):
458
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
459
- assert not proxy ._keep_file_open
460
- # KEEP_FILE_OPEN_DEFAULT=True should cause keep_file_open to be True,
461
- # regardless of whether or not indexed_gzip is present
462
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , True ), \
463
- mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
464
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
465
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
466
- create = True ):
467
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
468
- assert proxy ._keep_file_open
469
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , True ), \
470
- mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
471
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
472
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None , create = True ):
473
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
474
- assert proxy ._keep_file_open
475
- # KEEP_FILE_OPEN_DEFAULT=auto should cause keep_file_open to be True
476
- # or False, depending on whether indeed_gzip is present,
477
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'auto' ), \
478
- mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
479
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
480
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
481
- create = True ):
482
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
483
- assert proxy ._keep_file_open
484
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'auto' ), \
485
- mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
486
- mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
487
- mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None , create = True ):
488
- proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
489
- assert not proxy ._keep_file_open
490
- # KEEP_FILE_OPEN_DEFAULT=any other value should cuse an error to be raised
491
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'badvalue' ):
492
- assert_raises (ValueError , ArrayProxy , fname , ((10 , 10 , 10 ), dtype ))
493
- with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , None ):
494
- assert_raises (ValueError , ArrayProxy , fname , ((10 , 10 , 10 ), dtype ))
449
+ # The default value of KEEP_FILE_OPEN_DEFAULT should cause
450
+ # keep_file_open to be False, regardless of whether or not indexed_gzip
451
+ # is present
452
+ assert KEEP_FILE_OPEN_DEFAULT is False
453
+ with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
454
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
455
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None ,
456
+ create = True ):
457
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
458
+ assert not proxy ._keep_file_open
459
+ with mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
460
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
461
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
462
+ create = True ):
463
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
464
+ assert not proxy ._keep_file_open
465
+ # KEEP_FILE_OPEN_DEFAULT=True should cause keep_file_open to be True,
466
+ # regardless of whether or not indexed_gzip is present
467
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , True ), \
468
+ mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
469
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
470
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
471
+ create = True ):
472
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
473
+ assert proxy ._keep_file_open
474
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , True ), \
475
+ mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
476
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
477
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None ,
478
+ create = True ):
479
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
480
+ assert proxy ._keep_file_open
481
+ # KEEP_FILE_OPEN_DEFAULT=auto should cause keep_file_open to be True
482
+ # or False, depending on whether indeed_gzip is present,
483
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'auto' ), \
484
+ mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , True ), \
485
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , True ), \
486
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , gzip .GzipFile ,
487
+ create = True ):
488
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
489
+ assert proxy ._keep_file_open
490
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'auto' ), \
491
+ mock .patch ('nibabel.openers.HAVE_INDEXED_GZIP' , False ), \
492
+ mock .patch ('nibabel.arrayproxy.HAVE_INDEXED_GZIP' , False ), \
493
+ mock .patch ('nibabel.openers.SafeIndexedGzipFile' , None ,
494
+ create = True ):
495
+ proxy = ArrayProxy (fname , ((10 , 10 , 10 ), dtype ))
496
+ assert not proxy ._keep_file_open
497
+ # KEEP_FILE_OPEN_DEFAULT=any other value should cuse an error to be
498
+ # raised
499
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , 'badval' ):
500
+ assert_raises (ValueError , ArrayProxy , fname , ((10 , 10 , 10 ),
501
+ dtype ))
502
+ with mock .patch ('nibabel.arrayproxy.KEEP_FILE_OPEN_DEFAULT' , None ):
503
+ assert_raises (ValueError , ArrayProxy , fname , ((10 , 10 , 10 ),
504
+ dtype ))
495
505
496
506
497
507
def test_pickle_lock ():
0 commit comments