mirror of
https://github.com/python/cpython.git
synced 2026-10-28 18:35:21 +08:00
* [3.15] gh-158585: Fix _PyBytes_Resize() if hash value is already computed (#159555) * gh-158585: Fix _PyBytes_Resize() if hash value is already computed (#158589) _PyBytes_Resize() now creates a new bytes object if the hash value was already computed. bytes_resize_inplace() no longer sets the hash value to -1, since this function must not be called if the hash value was already computed. Add tests on PyUnicode_Resize(). (cherry picked from commit6e7738bb5e) * gh-158585: Fix refleak in _testcapi.bytes_resize() (#158806) (cherry picked from commit587b7a5b31) (cherry picked from commit251278d5ee) * Adjust code for 3.14
Tests in this directory are compiled into the _testcapi extension. The main file for the extension is Modules/_testcapimodule.c, which calls `_PyTestCapi_Init_*` from these functions. General guideline when writing test code for C API. * Use Argument Clinic to minimise the amount of boilerplate code. * Add a newline between the argument spec and the docstring. * If a test description is needed, make sure the added docstring clearly and succinctly describes purpose of the function. * DRY, use the clone feature of Argument Clinic. * Try to avoid adding new interned strings; reuse existing parameter names if possible. Use the `as` feature of Argument Clinic to override the C variable name, if needed.