summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-46417: _PyTypes_FiniTypes() clears object and type (GH-30798)Victor Stinner2022-01-221-15/+11
|
* bpo-45200: GHA Address Sanitizer skips 3 slowest tests (GH-30797)Victor Stinner2022-01-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip the 3 slowest tests of the Address Sanitizer CI of GitHub Actions: * test_tools * test_peg_generator * test_concurrent_futures These tests take between 5 and 20 minutes on this CI which makes this CI job the slowest. Making this CI job faster makes the whole Python workflow faster. These tests are run on all others CIs. Example of Address Sanitizer output: 10 slowest tests: - test_peg_generator: 17 min 33 sec - test_tools: 8 min 27 sec - test_concurrent_futures: 5 min 24 sec - test_zipfile: 2 min 41 sec - test_compileall: 2 min 21 sec - test_asyncio: 2 min 17 sec - test_gdb: 1 min 43 sec - test_weakref: 1 min 35 sec - test_pickle: 1 min 18 sec - test_subprocess: 1 min 12 sec Moreover, test_concurrent_futures also seems to be affected by bpo-45200 bug: libasan dead lock in pthread_create().
* bpo-46417: Cleanup typeobject.c code (GH-30795)Victor Stinner2022-01-221-159/+164
| | | | | | | | | | | | | | | | | | | | | | * Add comment to recurse_down_subclasses() explaining why it's safe to use a borrowed reference to tp_subclasses. * remove_all_subclasses() no longer accept NULL cases * type_set_bases() now relies on the fact that new_bases is not NULL. * type_dealloc_common() avoids PyErr_Fetch/PyErr_Restore if tp_bases is NULL. * remove_all_subclasses() makes sure that no exception is raised. * Don't test at runtime if tp_mro only contains types: rely on _PyType_CAST() assertion for that. * _PyStaticType_Dealloc() no longer clears tp_subclasses which is already NULL. * mro_hierarchy() avoids calling _PyType_GetSubclasses() if tp_subclasses is NULL. Coding style: * Use Py_NewRef(). * Add braces and move variable declarations to the first variable assignement. * Rename a few variables and parameters to use better names.
* bpo-46417: Clear more static types (GH-30796)Victor Stinner2022-01-227-54/+30
| | | | | | | * Move PyContext static types into object.c static_types list. * Rename PyContextTokenMissing_Type to _PyContextTokenMissing_Type and declare it in pycore_context.h. * _PyHamtItems types are no long exported: replace PyAPI_DATA() with extern.
* bpo-46425: fix direct invocation of `test_fileutils` and `test_zoneinfo` ↵Nikita Sobolev2022-01-222-3/+7
| | | | (GH-30792)
* bpo-46425: fix direct invocation of `test_importlib` (GH-30682)Nikita Sobolev2022-01-2239-61/+74
|
* bpo-46425: use absolute imports in `test_sqlite3` (GH-30676)Nikita Sobolev2022-01-224-6/+5
|
* bpo-46425: fix direct invocation of `test_traceback` (GH-30746)Nikita Sobolev2022-01-221-2/+3
|
* bpo-46417: remove_subclass() clears tp_subclasses (GH-30793)Victor Stinner2022-01-222-9/+32
| | | | | | | | | The remove_subclass() function now deletes the dictionary when removing the last subclass (if the dictionary becomes empty) to save memory: set PyTypeObject.tp_subclasses to NULL. remove_subclass() is called when a type is deallocated. _PyType_GetSubclasses() no longer holds a reference to tp_subclasses: its loop cannot modify tp_subclasses.
* bpo-46417: Fix race condition on setting type __bases__ (GH-30788)Victor Stinner2022-01-222-11/+21
| | | | | | | Fix a race condition on setting a type __bases__ attribute: the internal function add_subclass() now gets the PyTypeObject.tp_subclasses member after calling PyWeakref_NewRef() which can trigger a garbage collection which can indirectly modify PyTypeObject.tp_subclasses.
* bpo-46468: document that "-m http.server" defaults to port 8000 (GH-30776)Jelle Zijlstra2022-01-221-7/+12
| | | | | | | | Code link: https://github.com/python/cpython/blob/70c16468deee9390e34322d32fda57df6e0f46bb/Lib/http/server.py#L1270 It's been this way since at least 3.4. Also improved some wording in the same section.
* bpo-46469: Make asyncio generic classes return GenericAlias (GH-30777)Kumar Aditya2022-01-228-26/+28
| | | | | | | | | | | | * bpo-46469: Make asyncio generic classes return GenericAlias * 📜🤖 Added by blurb_it. * Update Misc/NEWS.d/next/Library/2022-01-22-05-05-08.bpo-46469.plUab5.rst Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* fix DeprecationWarning when running asyncio tests (GH-30486)Kumar Aditya2022-01-221-1/+1
|
* bpo-46460: remove duplicated `versionchanged` from `dis.rst` (GH-30752)Nikita Sobolev2022-01-221-2/+0
|
* bpo-46425: fix direct invocation of `asyncio` tests (#30725)Nikita Sobolev2022-01-226-2/+25
|
* bpo-46249: Move set lastrowid out of the sqlite3 query loop (GH-30489)Erlend Egeberg Aasland2022-01-221-11/+11
|
* bpo-46442: improve and rename testExceptionCleanupNames (GH-30758)Yellow Dusk2022-01-221-2/+14
| | | | | The test tested that explicitly deleting the local variable bound to the exception did not cause problems, but it did not test what it actually claimed to test, i.e. that the variable is deleted automatically.
* Improve the Windows release build scripts (GH-30771)Steve Dower2022-01-2217-229/+293
| | | | | Update to windows-2022 image Promote queue variables to parameters for better UI Structure build steps using parameters instead of conditions for simpler status display
* bpo-29882: _Py_popcount32() doesn't need 64x64 multiply (GH-30774)Victor Stinner2022-01-211-1/+1
| | | 32x32 bits multiply is enough for _Py_popcount32().
* bpo-46417: Use _PyType_CAST() in Objects directory (GH-30764)Victor Stinner2022-01-219-20/+13
|
* bpo-46417: Use _PyType_CAST() in Python directory (GH-30769)Victor Stinner2022-01-212-4/+3
|
* bpo-46417: Add _PyType_GetSubclasses() function (GH-30761)Victor Stinner2022-01-213-54/+75
| | | | | | | | | | | | | | Add a new _PyType_GetSubclasses() function to get type's subclasses. _PyType_GetSubclasses(type) returns a list which holds strong refererences to subclasses. It is safer than iterating on type->tp_subclasses which yields weak references and can be modified in the loop. _PyType_GetSubclasses(type) now holds a reference to the tp_subclasses dict while creating the list of subclasses. set_collection_flag_recursive() of _abc.c now uses _PyType_GetSubclasses().
* bpo-46463: Fixes escape4chm.py script used when building the CHM ↵Steve Dower2022-01-212-4/+7
| | | | documentation file (GH-30768)
* bpo-46445: Cover multiple inheritance of `TypedDict` in `test_typing` (GH-30719)Nikita Sobolev2022-01-211-1/+87
|
* bpo-43118: Fix bug in inspect.signature around 'base.__text_signature__' ↵Weipeng Hong2022-01-214-2/+27
| | | | (GH-30285)
* bpo-46124: Update zoneinfo to rely on importlib.resources traversable API. ↵Jason R. Coombs2022-01-213-3/+4
| | | | | (GH-30190) Automerge-Triggered-By: GH:jaraco
* Update generated files list and add `diff=generated` attribute (GH-30745)Erlend Egeberg Aasland2022-01-211-18/+28
| | | | | | | As a side effect, the list of generated files is relocated after the language aware diff settings. Closes python/core-workflow#425 Automerge-Triggered-By: GH:zware
* bpo-46417: Add _PyType_CAST() macro (GH-30760)Victor Stinner2022-01-213-58/+50
| | | | In debug mode, the macro makes sure that its argument is a type using an assertion.
* bpo-46434: Handle missing docstrings in pdb help (GH-30705)Tom Sparrow2022-01-214-0/+27
|
* bpo-46417: Add missing types of _PyTypes_InitTypes() (GH-30749)Victor Stinner2022-01-213-3/+11
| | | | | | | | | Add types removed by mistake by the commit adding _PyTypes_FiniTypes(). Move also PyBool_Type at the end, since it depends on PyLong_Type. PyBytes_Type and PyUnicode_Type no longer depend explicitly on PyBaseObject_Type: it's the default of PyType_Ready().
* bpo-46417: Revert remove_subclass() change (GH-30750)Victor Stinner2022-01-211-4/+0
| | | | remove_subclass() doesn't clear the tp_subclasses dict if the dict becomes empty.
* bpo-46417: Py_Finalize() clears static types (GH-30743)Victor Stinner2022-01-214-85/+144
| | | | | | | Add _PyTypes_FiniTypes() best-effort function to clear static types: don't deallocate a type if it still has subclasses. remove_subclass() now sets tp_subclasses to NULL when removing the last subclass.
* bpo-46417: Call _PyDebug_PrintTotalRefs() later (GH-30744)Victor Stinner2022-01-212-6/+9
| | | | | | | | "python -X showrefcount" now shows the total reference count after clearing and destroyed the main Python interpreter. Previously, it was shown before. Py_FinalizeEx() now calls _PyDebug_PrintTotalRefs() after finalize_interp_delete().
* bpo-46426: Improve tests for the dir_fd argument (GH-30668)Serhiy Storchaka2022-01-213-230/+208
| | | | | | | Ensure that directory file descriptors refer to directories different from the current directory, and that src_dir_fd and dst_dir_fd refer to different directories. Add context manager open_dir_fd() in test.support.os_helper.
* bpo-30512: Add CAN Socket support for NetBSD (GH-30066)Thomas Klausner2022-01-218-6/+26
|
* bpo-21987: Fix TarFile.getmember getting a dir with a trailing slash (GH-30283)andrei kulakov2022-01-213-1/+22
|
* bpo-46425: Fix direct invocation of `test_contextlib` (GH-30681)Nikita Sobolev2022-01-211-4/+10
|
* bpo-46417: signal uses PyStructSequence_NewType() (GH-30735)Victor Stinner2022-01-211-7/+9
| | | | | | The signal module now creates its struct_siginfo type as a heap type using PyStructSequence_NewType(), rather than using a static type. Add 'siginfo_type' member to the global signal_state_t structure.
* bpo-46417: _curses uses PyStructSequence_NewType() (GH-30736)Victor Stinner2022-01-2110-19/+40
| | | | | | | | The _curses module now creates its ncurses_version type as a heap type using PyStructSequence_NewType(), rather than using a static type. * Move _PyStructSequence_FiniType() definition to pycore_structseq.h. * test.pythoninfo: log curses.ncurses_version.
* bpo-46417: time module uses PyStructSequence_NewType() (GH-30734)Victor Stinner2022-01-211-37/+81
| | | | | | | | | | The time module now creates its struct_time type as a heap type using PyStructSequence_NewType(), rather than using a static type. * Add a module state to the time module: add traverse, clear and free functions. * Use PyModule_AddType(). * Remove the 'initialized' variable.
* bpo-46417: _thread uses PyStructSequence_NewType() (GH-30733)Victor Stinner2022-01-211-12/+14
| | | | | The _thread module now creates its _ExceptHookArgs type as a heap type using PyStructSequence_NewType(), rather than using a static type.
* bpo-46417: _testembed.c avoids Py_SetProgramName() (GH-30732)Victor Stinner2022-01-212-31/+33
| | | | | | * _testembed_Py_Initialize() now uses the PyConfig API, rather than deprecated Py_SetProgramName(). * Reduce INIT_LOOPS from 16 to 4: test_embed now takes 8.7 seconds rather than 14.7 seconds.
* bpo-46417: Finalize structseq types at exit (GH-30645)Victor Stinner2022-01-2117-2/+230
| | | | | | | | | | | | | | | | | | Add _PyStructSequence_FiniType() and _PyStaticType_Dealloc() functions to finalize a structseq static type in Py_Finalize(). Currrently, these functions do nothing if Python is built in release mode. Clear static types: * AsyncGenHooksType: sys.set_asyncgen_hooks() * FlagsType: sys.flags * FloatInfoType: sys.float_info * Hash_InfoType: sys.hash_info * Int_InfoType: sys.int_info * ThreadInfoType: sys.thread_info * UnraisableHookArgsType: sys.unraisablehook * VersionInfoType: sys.version * WindowsVersionType: sys.getwindowsversion()
* bpo-41857: mention timeout argument units in select.poll() and ↵Zane Bitter2022-01-202-3/+15
| | | | select.depoll() doc-strings (GH-22406)
* bpo-46080: fix argparse help generation exception in edge case (GH-30111)Felix Fontein2022-01-203-3/+9
| | | | | Fix an uncaught exception during help text generation when argparse.BooleanOptionalAction is used with default=argparse.SUPPRESS and help is specified.
* bpo-46441: Add a boilerplate to test syntax errors in interactive mode ↵Batuhan Taskaya2022-01-201-0/+33
| | | | (GH-30720)
* bpo-46316: optimize `pathlib.Path.iterdir()` (GH-30501)Barney Gale2022-01-202-3/+1
| | | | `os.listdir()` doesn't return entries for `.` or `..`, so we don't need to check for them here.
* bpo-40280: Misc fixes for wasm32-emscripten (GH-30722)Christian Heimes2022-01-209-6/+34
|
* bpo-46429: Merge all deepfrozen files into one (GH-30572)Kumar Aditya2022-01-206-243/+120
|
* Fix the caret position in some syntax errors in interactive mode (GH-30718)Pablo Galindo Salgado2022-01-201-2/+3
|