@@ -1070,21 +1070,27 @@ def test_channel_name_limit(tmp_path, monkeypatch, fname):
1070
1070
apply_inverse (evoked , inv ) # smoke test
1071
1071
1072
1072
1073
+ @pytest .mark .parametrize ("protocol" , ("highest" , "default" ))
1073
1074
@pytest .mark .parametrize ("fname_info" , (raw_fname , "create_info" ))
1074
1075
@pytest .mark .parametrize ("unlocked" , (True , False ))
1075
- def test_pickle (fname_info , unlocked ):
1076
+ def test_pickle (fname_info , unlocked , protocol ):
1076
1077
"""Test that Info can be (un)pickled."""
1077
1078
if fname_info == "create_info" :
1078
1079
info = create_info (3 , 1000.0 , "eeg" )
1079
1080
else :
1080
1081
info = read_info (fname_info )
1082
+ protocol = getattr (pickle , f"{ protocol .upper ()} _PROTOCOL" )
1083
+ assert isinstance (info ["bads" ], MNEBadsList )
1084
+ info ["bads" ] = info ["ch_names" ][:1 ]
1081
1085
assert not info ._unlocked
1082
1086
info ._unlocked = unlocked
1083
- data = pickle .dumps (info )
1087
+ data = pickle .dumps (info , protocol = protocol )
1084
1088
info_un = pickle .loads (data ) # nosec B301
1085
1089
assert isinstance (info_un , Info )
1086
1090
assert_object_equal (info , info_un )
1087
1091
assert info_un ._unlocked == unlocked
1092
+ assert isinstance (info_un ["bads" ], MNEBadsList )
1093
+ assert info_un ["bads" ]._mne_info is info_un
1088
1094
1089
1095
1090
1096
def test_info_bad ():
0 commit comments