summaryrefslogtreecommitdiffstats
path: root/Lib/test/pickletester.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-42809: Improve pickle tests for recursive data. (GH-24060)Miss Islington (bot)2021-01-021-87/+253
| | | | | (cherry picked from commit a25011be8c6f62cb3333903befe6295d57f0bd30) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-41288: Fix a crash in unpickling invalid NEWOBJ_EX. (GH-21458)Miss Islington (bot)2020-07-131-0/+18
| | | | | | Automerge-Triggered-By: @tiran (cherry picked from commit 4f309abf55f0e6f8950ac13d6ec83c22b8d47bf8) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-41003: Fix test_copyreg when numpy is installed (GH-20935) (GH-20945) ↵Victor Stinner2020-06-171-5/+11
| | | | | | | | | | | | | (GH-20946) Fix test_copyreg when numpy is installed: test.pickletester now saves/restores warnings.filters when importing numpy, to ignore filters installed by numpy. Add the save_restore_warnings_filters() function to the test.support.warnings_helper module. (cherry picked from commit 8362893e3fe083df2ec8bb94c28b1a78383eadbf) (cherry picked from commit b39d41ba1b77f7bc51c4d6f6d0e336693192cb3a)
* bpo-39681: Fix C pickle regression with minimal file-like objects (GH-18592) ↵Miss Islington (bot)2020-02-231-4/+21
| | | | | | | | | | | | (#18630) Fix a regression where the C pickle module wouldn't allow unpickling from a file-like object that doesn't expose a readinto() method. (cherry picked from commit 9f37872e307734666a7169f7be6e3370d3068282) Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Antoine Pitrou <pitrou@free.fr>
* [3.8] bpo-39492: Fix a reference cycle between reducer_override and a ↵Antoine Pitrou2020-02-021-0/+24
| | | | | | | | | | | Pickler instance (GH-18266) (#18316) https://bugs.python.org/issue39492 Automerge-Triggered-By: @pitrou (cherry picked from commit 0f2f35e) Co-authored-by: Pierre Glaser <pierreglaser@msn.com>
* Don't skip pickle check_frame_opcodes() (GH-15027)Miss Islington (bot)2019-07-301-1/+0
| | | | | | | This looks like the only place that proto 4 framing gets exercised so leave it as part of the PGO task. (cherry picked from commit eca7ffc61cf925eae5def8c64b05d47f24e60e1f) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
* bpo-37707: Exclude expensive unit tests from PGO task (GH-15009) (#15024)Miss Islington (bot)2019-07-301-0/+3
| | | | | | | | Mark some individual tests to skip when --pgo is used. The tests marked increase the PGO task time significantly and likely don't help improve optimization of the final executable. (cherry picked from commit 52a48e62c6a94577152f9301bbe5f3bc806cfcf1) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
* bpo-37502: handle default parameter for buffers argument of pickle.loads ↵Miss Islington (bot)2019-07-251-0/+5
| | | | | | | correctly (GH-14593) (cherry picked from commit 898318b53d921298d1f1fcfa0f415844afbeb318) Co-authored-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
* bpo-31829: Make protocol 0 pickles be loadable in text mode in Python 2. ↵Serhiy Storchaka2019-05-311-4/+15
| | | | | | (GH-11859) Escape ``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) in Unicode strings.
* bpo-36785: PEP 574 implementation (GH-7076)Antoine Pitrou2019-05-261-12/+411
|
* bpo-35900: Enable custom reduction callback registration in _pickle (GH-12499)Pierre Glaser2019-05-081-0/+68
| | | | Enable custom reduction callback registration for functions and classes in _pickle.c, using the new Pickler's attribute ``reducer_override``.
* bpo-35900: Add a state_setter arg to save_reduce (GH-12588)Pierre Glaser2019-05-081-1/+39
| | | | | Allow reduction methods to return a 6-item tuple where the 6th item specifies a custom state-setting method that's called instead of the regular ``__setstate__`` method.
* bpo-36766: Typos in docs and code comments (GH-13116)penguindustin2019-05-061-1/+1
|
* Clean up code which checked presence of os.{stat,lstat,chmod} (#11643)Anthony Sottile2019-02-251-5/+4
|
* bpo-34572: change _pickle unpickling to use import rather than retrieving ↵tjb9002019-02-181-1/+66
| | | | | from sys.modules (GH-9047) Fix C implementation of pickle.loads to use importlib's locking mechanisms, and thereby avoid using partially-loaded modules.
* bpo-33209: End framing at the end of C implementation of ↵Serhiy Storchaka2018-04-031-17/+18
| | | | pickle.Pickler.dump(). (GH-6363)
* bpo-32503: Avoid creating too small frames in pickles. (#5127)Serhiy Storchaka2018-01-201-37/+45
|
* bpo-31993: Do not use memoryview when pickle large strings. (#5154)Serhiy Storchaka2018-01-121-30/+30
| | | | | | PyMemoryView_FromMemory() created a memoryview referring to the internal data of the string. When the string is destroyed the memoryview become referring to a freed memory.
* bpo-31993: Do not create frames for large bytes and str objects (#5114)Serhiy Storchaka2018-01-111-8/+9
| | | | | | | when serialize into memory buffer with C pickle implementations. This optimization already is performed when serialize into memory with Python pickle implementations or into a file with both implementations.
* bpo-31993: Do not allocate large temporary buffers in pickle dump. (#4353)Olivier Grisel2018-01-061-13/+118
| | | | | | | | | | | | | | | | | The picklers do no longer allocate temporary memory when dumping large bytes and str objects into a file object. Instead the data is directly streamed into the underlying file object. Previously the C implementation would buffer all content and issue a single call to file.write() at the end of the dump. With protocol 4 this behavior has changed to issue one call to file.write() per frame. The Python pickler with protocol 4 now dumps each frame content as a memoryview to an IOBytes instance that is never reused and the memoryview is no longer released after the call to write. This makes it possible for the file object to delay access to the memoryview of previous frames without forcing any additional memory copy as was already possible with the C pickler.
* bpo-32037: Use the INT opcode for 32-bit integers in protocol 0 pickles. (#4407)Serhiy Storchaka2017-11-161-3/+3
|
* bpo-32032: Test both implementations of module-level pickle API. (#4401)Serhiy Storchaka2017-11-151-12/+12
|
* Replace KB unit with KiB (#4293)Victor Stinner2017-11-081-2/+2
| | | | | | | | | | | kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte") means 1024 bytes. KB was misused: replace kB or KB with KiB when appropriate. Same change for MB and GB which become MiB and GiB. Change the output of Tools/iobench/iobench.py. Round also the size of the documentation from 5.5 MB to 5 MiB.
* Issue #17711: Fixed unpickling by the persistent ID with protocol 0.Serhiy Storchaka2016-07-171-0/+29
|\ | | | | | | Original patch by Alexandre Vassalotti.
| * Issue #17711: Fixed unpickling by the persistent ID with protocol 0.Serhiy Storchaka2016-07-171-0/+29
| | | | | | | | Original patch by Alexandre Vassalotti.
* | Fixed typo in pickle tests.Serhiy Storchaka2016-03-041-2/+2
|\ \ | |/
| * Fixed typo in pickle tests.Serhiy Storchaka2016-03-041-2/+2
| |
* | Make catched exception more specific and correct a comment.Serhiy Storchaka2015-12-301-3/+3
|\ \ | |/
| * Make catched exception more specific and correct a comment.Serhiy Storchaka2015-12-301-3/+3
| |
* | Issue #25761: Improved detecting errors in broken pickle data.Serhiy Storchaka2015-12-061-11/+6
| |
* | Issue #25761: Added more test cases for testing unpickling broken data.Serhiy Storchaka2015-11-291-93/+197
|\ \ | |/ | | | | Output raised exception at verbose level 2 (-vv).
| * Issue #25761: Added more test cases for testing unpickling broken data.Serhiy Storchaka2015-11-291-93/+197
| |\ | | | | | | | | | Output raised exception at verbose level 2 (-vv).
| | * Issue #25761: Added more test cases for testing unpickling broken data.Serhiy Storchaka2015-11-291-93/+197
| | | | | | | | | | | | Output raised exception at verbose level 2 (-vv).
* | | Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.Serhiy Storchaka2015-11-231-1/+84
|\ \ \ | |/ /
| * | Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.Serhiy Storchaka2015-11-231-1/+84
| |\ \ | | |/
| | * Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.Serhiy Storchaka2015-11-231-1/+84
| | |
* | | Issue #892902: Added new tests for pickling recursive collections.Serhiy Storchaka2015-11-071-16/+104
|\ \ \ | |/ /
| * | Issue #892902: Added new tests for pickling recursive collections.Serhiy Storchaka2015-11-071-16/+104
| |\ \ | | |/
| | * Issue #892902: Added new tests for pickling recursive collections.Serhiy Storchaka2015-11-071-16/+104
| | |
* | | Issue #24164: Objects that need calling ``__new__`` with keyword arguments,Serhiy Storchaka2015-10-101-4/+2
|/ / | | | | | | can now be pickled using pickle protocols older than protocol version 4.
* | Issue #25262. Added support for BINBYTES8 opcode in Python implementation ofSerhiy Storchaka2015-09-291-0/+20
|\ \ | |/ | | | | | | unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored on 32-bit platforms in C implementation.
| * Issue #25262. Added support for BINBYTES8 opcode in Python implementation ofSerhiy Storchaka2015-09-291-0/+20
| | | | | | | | | | unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored on 32-bit platforms in C implementation.
* | Added additional unpickling tests.Serhiy Storchaka2015-09-291-37/+229
|\ \ | |/
| * Added additional unpickling tests.Serhiy Storchaka2015-09-291-37/+229
| |
* | Moved unpickling tests with prepickled data to separate class.Serhiy Storchaka2015-09-291-209/+215
|\ \ | |/
| * Moved unpickling tests with prepickled data to separate class.Serhiy Storchaka2015-09-291-209/+215
| |
* | merge 3.4Benjamin Peterson2015-07-021-1/+1
|\ \ | |/
| * use correct __new__ method (closes #24552)Benjamin Peterson2015-07-021-1/+1
| |
* | merge 3.4 (#24552)Benjamin Peterson2015-07-021-0/+12
|\ \ | |/
| * fix use after free (closes #24552)Benjamin Peterson2015-07-021-0/+12
| |