| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
| |
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
|
|
|
| |
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
|
|
|
| |
Set ASAN_OPTIONS="handle_segv=0" env var to run the test.
|
|
|
| |
Co-authored-by: Erlend E. Aasland <erlend@python.org>
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
To avoid breaking downstream intersphinx via numpydoc
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
| |
constructor (GH-110258)
|
|
|
|
| |
word. (GH-109846)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
test_unix_events tests using the multiprocessing module now call
multiprocessing.util._cleanup_tests().
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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-110318)
|
|
|
|
|
| |
Now the target for `DEOPT_IF()` is auto-filled,
we don't need a separate `_GUARD_TYPE_VERSION_STORE` uop.
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
| |
(gh-110314)
This reverts commit 6bc889aedc11cc8e0b9f57948a3d528ad2685497.
That commit is causing some buildbot failures.
|
|
|
| |
This is a temporary fix. The full fix may involve serializing the traceback in some form.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Necessary (gh-110245)
In a few places we switch to another interpreter without knowing if it has a thread state associated with the current thread. For the main interpreter there wasn't much of a problem, but for subinterpreters we were *mostly* okay re-using the tstate created with the interpreter (located via PyInterpreterState_ThreadHead()). There was a good chance that tstate wasn't actually in use by another thread.
However, there are no guarantees of that. Furthermore, re-using an already used tstate is currently fragile. To address this, now we create a new thread state in each of those places and use it.
One consequence of this change is that PyInterpreterState_ThreadHead() may not return NULL (though that won't happen for the main interpreter).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
contextlib.closing gh-109234 (#109322)
* Enhanced sqlite3 connection context management documentation with contextlib.closing
* 📜🤖 Added by blurb_it.
* Fixed gitignore spelling error from nitignore to gitignore
* Renamed .gitignore to .nitignore
* Added generated doctests
* Deleted sqlite3 generated files
* Removed white-space changes
* Removed News entry from the doc
* Expanded a note that context manager can be used for connection management using contextlib.closing
* Removed repeated contextlib.closing code snippet
* Expanded the note around usage of context manageer for sqlite3 connection management
* Deleted extra white-spaces
* Deleted extra white-space
* re-arranged context manager wording
* Re-arranged word layout on how to use context manager
* Fix whitespace errors
* Remove unneeded change in .gitignore
* Added suggested changes
* Added suggested change redirecting to the contextlib.closing implementation
* Added closing keyword
* Removed line 2473
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
|
|
|
|
| |
(GH-110272)
|
|
|
| |
This resolves a Dependabot security alert on the repository for urllib3==2.0.4.
|
|
|
|
|
| |
(#110277)
`test_unicode` does not exist
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(#110242)
|
|
|
|
|
| |
* add RecvChannel.close() and SendChannel.close()
* make RecvChannel and SendChannel shareable
* expose ChannelEmptyError and ChannelNotEmptyError
|