@@ -419,19 +419,22 @@ def test_keep_file_open_auto():
419419 fname = 'testdata.gz'
420420 with gzip .open (fname , 'wb' ) as fobj :
421421 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
435438
436439
437440def test_keep_file_open_default ():
@@ -443,55 +446,62 @@ def test_keep_file_open_default():
443446 fname = 'testdata.gz'
444447 with gzip .open (fname , 'wb' ) as fobj :
445448 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 ))
495505
496506
497507def test_pickle_lock ():
0 commit comments