Skip to content

Commit 64c7b24

Browse files
authored
Merge pull request #3017 from stilley2/fix/loadpkl
FIX: loadpkl failed when pklz file contained versioning info
2 parents 508df5e + bbc696f commit 64c7b24

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

nipype/utils/filemanip.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -689,8 +689,6 @@ def loadpkl(infile, versioning=False):
689689
pkl_metadata_line = pkl_file.readline()
690690
pkl_metadata = json.loads(pkl_metadata_line)
691691
except (UnicodeDecodeError, json.JSONDecodeError):
692-
pass
693-
finally:
694692
# Could not get version info
695693
pkl_file.seek(0)
696694

nipype/utils/tests/test_filemanip.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,3 +587,13 @@ def test_Path_strict_resolve(tmpdir):
587587
# If the file is created, it should not raise
588588
open('somefile.txt', 'w').close()
589589
assert '%s/somefile.txt' % tmpdir == '%s' % testfile.resolve(strict=True)
590+
591+
592+
@pytest.mark.parametrize("load_versioning", [True, False])
593+
@pytest.mark.parametrize("save_versioning", [True, False])
594+
def test_pickle(tmp_path, save_versioning, load_versioning):
595+
testobj = 'iamateststr'
596+
pickle_fname = str(tmp_path / 'testpickle.pklz')
597+
savepkl(pickle_fname, testobj, versioning=save_versioning)
598+
outobj = loadpkl(pickle_fname, versioning=load_versioning)
599+
assert outobj == testobj

0 commit comments

Comments
 (0)