-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
TST/CLN: legacy pickle testing #3310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
anybody know if py3 is supposed to be able to read py2 pickles? Do we have to unicode any strings in the data first?
|
TST: added io/tests/test_pickle.py to test stored pickles added io/tests/generate_legacy_pickles.py to create legacy pickles on various arch and sytems (need contributions) added some sample pickles for 0.10.1/0.11.0
Turns out this does work, but you have to jump thru some hoops, so I updated the main pickle load method from core/common
|
does the other way round work? |
…me/Index/MultiIndex
no, can't read a py3 pickle in py2 (its protocol is 3, which py2 doesn't know about), raises a ValueError (which I am now catching in the comparators). I added a py3 pickle as well. Cross platform is fine as well. |
Merged. thanks! |
CLN:
util/testing.get_data_path
to give you this pathTST:
added
io/tests/test_pickle.py
andio/tests/generate_legacy_pickles.py
to generate legacy pickle files and provide comparsions
just run
python path_to_generate_legacy_pickles.py
it will create a version of pickle for that python version, arch, and system, and store in
pandas/io/tests/data/legacy_pickle/VERSION
sample pickles for windows-64/2.7/0.10.1 and linux/2.7/0.10.1 and linux/2.7/0.11.0 added
need to run this on various combinations to generate the reference library
allows backwards compatibility testing for these pickles