summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-85283: Add PySys_AuditTuple() function (#108965)Victor Stinner2023-10-057-9/+109
| | | | | | sys.audit() now has assertions to check that the event argument is not NULL and that the format argument does not use the "N" format. Add tests on PySys_AuditTuple().
* gh-109888: Fix test_os _kill_with_event() on Windows (#110421)Victor Stinner2023-10-051-23/+27
| | | | | | | | | | | | | Replace os.kill() with proc.kill() which catchs PermissionError. Rewrite _kill_with_event(): * Use subprocess context manager ("with proc:"). * Use sleeping_retry() to wait until the child process is ready. * Replace SIGINT with proc.kill() on error. * Replace 10 seconds with SHORT_TIMEOUT to wait until the process is ready. * Replace 0.5 seconds with SHORT_TIMEOUT to wait for the process exit.
* gh-110429: Fix race condition in "make regen-all" (#110433)Victor Stinner2023-10-051-2/+2
| | | | | | "make regen-pegen" now creates a temporary file called "parser.c.new" instead of "parser.new.c". Previously, if "make clinic" was run in parallel with "make regen-all", clinic may try but fail to open "parser.new.c" if the temporay file was removed in the meanwhile.
* gh-110383: Swap 'the all' -> 'all the' in socket docs (#110434)Bradley Reynolds2023-10-051-1/+1
|
* gh-110119: Fix test_importlib `--disable-gil` Windows test failures (#110422)Sam Gross2023-10-051-2/+5
| | | Use "t" in the expected tag for `--disable-gil` builds in test_tagged_suffix.
* gh-109840: Fix multiprocessing test_waitfor_timeout() (#110428)Victor Stinner2023-10-051-3/+3
| | | | Don't measure the CI performance: don't fail if cond.wait_for() takes longer than 1 second on a slow CI.
* gh-110167: Increase support.LOOPBACK_TIMEOUT to 10 seconds (#110413)Victor Stinner2023-10-052-7/+3
| | | | | | Increase support.LOOPBACK_TIMEOUT from 5 to 10 seconds. Also increase the timeout depending on the --timeout option. For example, for a test timeout of 40 minutes (ARM Raspbian 3.x), use LOOPBACK_TIMEOUT of 20 seconds instead of 5 seconds before.
* gh-110167: Fix test_socket deadlock in doCleanups() (#110416)Victor Stinner2023-10-052-5/+12
| | | | | | | | | | | | | Fix a deadlock in test_socket when server fails with a timeout but the client is still running in its thread. Don't hold a lock to call cleanup functions in doCleanups(). One of the cleanup function waits until the client completes, whereas the client could deadlock if it called addCleanup() in such situation. doCleanups() is called when the server completed, but the client can still be running in its thread especially if the server failed with a timeout. Don't put a lock on doCleanups() to prevent deadlock between addCleanup() called in the client and doCleanups() waiting for self.done.wait of ThreadableTest._setUp().
* gh-110147: test_msvcrt: run console I/O tests in new processes (#110268)AN Long2023-10-053-107/+31
|
* Fix env var typo in perf profiling docs (#110404)Harmen Stoppels2023-10-051-2/+1
| | | Fix typo in docs
* gh-110383 TimeIt Docs Spelling Fix (#110407)Towster152023-10-051-1/+1
| | | Make 0.2 second plural
* gh-110391: socket NetworkConnectionAttributesTest always declare cli (#110401)Victor Stinner2023-10-051-1/+3
| | | | NetworkConnectionAttributesTest of test_socket now always declare the 'cli' attribute, so clientTearDown() cannot fail with AttributeError.
* gh-109549: Add new states to PyThreadState to support PEP 703 (gh-109915)Sam Gross2023-10-056-92/+141
| | | This adds a new field 'state' to PyThreadState that can take on one of three values: _Py_THREAD_ATTACHED, _Py_THREAD_DETACHED, or _Py_THREAD_GC. The "attached" and "detached" states correspond closely to acquiring and releasing the GIL. The "gc" state is current unused, but will be used to implement stop-the-world GC for --disable-gil builds in the near future.
* gh-109329: Add stat for "trace too short" (GH-110402)Michael Droettboom2023-10-054-0/+5
|
* gh-110393: Remove watchdog with hardcoded timeout (#110400)Victor Stinner2023-10-052-9/+0
| | | | | | | | test_builtin and test_socketserver no longer use signal.alarm() to implement a watchdog with a hardcoded timeout (2 and 60 seconds). Python test runner regrtest has two watchdogs: faulthandler and timeout on running worker processes. Tests using short hardcoded timeout can fail on slowest buildbots just because the timeout is too short.
* gh-82367: Use `FindFirstFile` Win32 API in `ntpath.realpath()` (GH-110298)박문식2023-10-058-8/+132
| | | | | | | * Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()` breaks out of traversing a series of paths where a (handled) `ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs. * Update docs to reflect that `ntpath.realpath()` eliminates MS-DOS style names.
* gh-110309: Prune empty constant in format specs (#110320)sunmy20192023-10-053-10/+79
| | | Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-110259: Fix f-strings with multiline expressions and format specs (#110271)Pablo Galindo Salgado2023-10-055-10/+128
| | | Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
* gh-110367: Fix regrtest test_worker_output_on_failure() on ASAN build (#110387)Victor Stinner2023-10-053-9/+20
| | | Set ASAN_OPTIONS="handle_segv=0" env var to run the test.
* gh-110365: Fix error overwrite in `termios.tcsetattr` (#110366)Nikita Sobolev2023-10-052-13/+28
| | | Co-authored-by: Erlend E. Aasland <erlend@python.org>
* gh-110367: Enhance regrtest -jN --verbose3 (#110368)Victor Stinner2023-10-054-3/+52
| | | | | | When using worker processes (-jN) with --verbose3 option, regrtest can now display the worker output even if a worker process does crash. Previously, sys.stdout and sys.stderr were replaced and so the worker output was lost on a crash.
* Remove duplicate word. (#110376)Benjamin Peterson2023-10-051-1/+1
|
* gh-88402: Add new sysconfig variables on Windows (GH-110049)Sam Gross2023-10-0420-70/+231
| | | | Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
* gh-110310: Add a Per-Interpreter XID Registry for Heap Types (gh-110311)Eric Snow2023-10-043-58/+148
| | | | | | | | | | | We do the following: * add a per-interpreter XID registry (PyInterpreterState.xidregistry) * put heap types there (keep static types in _PyRuntimeState.xidregistry) * clear the registries during interpreter/runtime finalization * avoid duplicate entries in the registry (when _PyCrossInterpreterData_RegisterClass() is called more than once for a type) * use Py_TYPE() instead of PyObject_Type() in _PyCrossInterpreterData_Lookup() The per-interpreter registry helps preserve isolation between interpreters. This is important when heap types are registered, which is something we haven't been doing yet but I will likely do soon.
* GH-109329: Add tier 2 stats (GH-109913)Michael Droettboom2023-10-049-128/+483
|
* Add back bltin-boolean-values ref tag (#110371)P. L. Lim2023-10-041-0/+1
| | | To avoid breaking downstream intersphinx via numpydoc
* gh-76785: Print the Traceback from Interpreter.run() (gh-110322)Eric Snow2023-10-041-1/+7
| | | | | This is a temporary solution. The full fix may involve serializing the traceback in some form. (FYI, I merged this yesterday and the reverted it due to buildbot failures. See gh-110248.)
* gh-110222: Add support of PyStructSequence in copy.replace() (GH-110223)Xuehai Pan2023-10-043-1/+155
|
* gh-110235: Raise TypeError for duplicate/unknown fields in PyStructSequence ↵Xuehai Pan2023-10-043-7/+84
| | | | constructor (GH-110258)
* GH-109369: Merge all eval-breaker flags and monitoring version into one ↵Mark Shannon2023-10-0413-234/+188
| | | | word. (GH-109846)
* gh-104909: Split more LOAD_ATTR specializations (GH-110317)Guido van Rossum2023-10-046-219/+598
| | | | | | | | | | | | | | | | | | | * Split LOAD_ATTR_MODULE * Split LOAD_ATTR_WITH_HINT * Split _GUARD_TYPE_VERSION out of the latter * Split LOAD_ATTR_CLASS * Split LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES * Fix indent of DEOPT_IF in macros * Split LOAD_ATTR_METHOD_LAZY_DICT * Split LOAD_ATTR_NONDESCRIPTOR_NO_DICT * Fix omission of _CHECK_ATTR_METHOD_LAZY_DICT
* Lint: Remove files that no longer fail to parse or with F811 (#110356)Hugo van Kemenade2023-10-041-4/+0
|
* gh-110260: Check for PyList_SetItem() errors in termios module (GH-110261)Nikita Sobolev2023-10-041-17/+32
|
* gh-109151: Enable readline in the sqlite3 CLI (GH-109152)Serhiy Storchaka2023-10-042-0/+5
|
* gh-110332: Remove mentions of `random.WichmannHill` from `test_zlib` (#110334)Nikita Sobolev2023-10-041-12/+1
|
* gh-109276: regrtest: shorter list of resources (#110326)Victor Stinner2023-10-043-17/+63
|
* gh-110335: asyncio test_unix_events cleans multiprocessing (#110336)Victor Stinner2023-10-041-0/+8
| | | | test_unix_events tests using the multiprocessing module now call multiprocessing.util._cleanup_tests().
* gh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (#110331)Victor Stinner2023-10-041-1/+1
| | | | | | CFunctionFullTests now also runs "bt" command before "py-bt-full", similar to CFunctionTests which also runs "bt" command before "py-bt". So test_gdb can skip the test if patterns like "?? ()" are found in the gdb output.
* gh-110171: `libregrtest` always sets `random.seed` (#110172)Nikita Sobolev2023-10-045-16/+24
|
* gh-110273: dataclasses.replace() now raise TypeError for all invalid ↵Serhiy Storchaka2023-10-043-11/+14
| | | | | | | arguments (GH-110274) dataclasses.replace() now raises TypeError instead of ValueError if specify keyword argument for a field declared with init=False or miss keyword argument for required InitVar field.
* gh-109653: Defer importing `warnings` in several modules (#110286)Alex Waygood2023-10-046-6/+10
|
* gh-85984: Document change in return type of tty functions (#110028)Jelle Zijlstra2023-10-041-0/+6
|
* gh-110300: Fix Refleaks in test_interpreters and test__xxinterpchannels ↵Eric Snow2023-10-043-10/+30
| | | | (gh-110318)
* gh-109979: Unify _GUARD_TYPE_VERSION{,_STORE} (#110301)Guido van Rossum2023-10-035-63/+36
| | | | | Now the target for `DEOPT_IF()` is auto-filled, we don't need a separate `_GUARD_TYPE_VERSION_STORE` uop.
* gh-109917: Fix test instability in test_concurrent_futures (#110306)elfstrom2023-10-031-1/+2
| | | | | | | | | | The test had an instability issue due to the ordering of the dummy queue operation and the real wakeup pipe operations. Both primitives are thread safe but not done atomically as a single update and may interleave arbitrarily. With the old order of operations this can lead to an incorrect state where the dummy queue is full but the wakeup pipe is empty. By swapping the order in clear() I think this can no longer happen in any possible operation interleaving (famous last words).
* Revert "gh-76785: Print the Traceback from Interpreter.run() (gh-110248)" ↵Eric Snow2023-10-031-4/+0
| | | | | | | (gh-110314) This reverts commit 6bc889aedc11cc8e0b9f57948a3d528ad2685497. That commit is causing some buildbot failures.
* gh-76785: Print the Traceback from Interpreter.run() (gh-110248)Eric Snow2023-10-031-0/+4
| | | This is a temporary fix. The full fix may involve serializing the traceback in some form.
* Docs: Avoid the deprecated ``.. cmdoption::`` directive (#110292)Adam Turner2023-10-0318-243/+243
|
* gh-109979: Auto-generate the target for DEOPT_IF() (#110193)Guido van Rossum2023-10-038-315/+315
| | | | | | | | | | | | | | | | In Python/bytecodes.c, you now write ``` DEOPT_IF(condition); ``` The code generator expands this to ``` DEOPT_IF(condition, opcode); ``` where `opcode` is the name of the unspecialized instruction. This works inside macro expansions too. **CAVEAT:** The entire `DEOPT_IF(condition)` statement must be on a single line. If it isn't, the substitution will fail; an error will be printed by the code generator and the C compiler will report some errors.
* gh-108867: Add PyThreadState_GetUnchecked() function (#108870)Victor Stinner2023-10-0310-8/+34
| | | | | | Add PyThreadState_GetUnchecked() function: similar to PyThreadState_Get(), but don't issue a fatal error if it is NULL. The caller is responsible to check if the result is NULL. Previously, this function was private and known as _PyThreadState_UncheckedGet().