110244 Commits

Author SHA1 Message Date
Erlend Egeberg Aasland
505624e917
bpo-44327: Remove unused members from pysqlite_Connection (GH-26565)
* Remove timeout_started

* Remove timeout member
2021-06-06 23:11:44 +01:00
hrchu
18e9edb7b3
Update bisect docstrings (GH-26548) 2021-06-06 11:22:48 -07:00
NAKAMURA Osamu
71be461704
bpo-44320: Fix markup for W3C C14N test suite (GH-26556) 2021-06-06 11:34:10 +09:00
Pablo Galindo
6e3b7cf3af
bpo-44304: Ensure the sqlite3 destructor callback is always called with the GIL held (GH-26551) 2021-06-05 23:41:11 +01:00
Pablo Galindo
fa106a685c
bpo-44304: Fix crash in the sqlite3 module when the GC clears Statement objects (GH-26545) 2021-06-05 03:50:39 +01:00
Pablo Galindo
f171877ebe
bpo-38323: Skip SubprocessMultiLoopWatcherTest as they can hang the test suite (GH-26542) 2021-06-05 00:33:20 +01:00
Raymond Hettinger
3668e118f7
Update nonstandard variable names (GH-26540) 2021-06-04 16:28:31 -07:00
Irit Katriel
dda9ecbfec
bpo-44279: revert 'exceptions are raised' back to 'exceptions occur' (GH-26492) 2021-06-04 23:07:57 +01:00
Kazantcev Andrey
2780df4781
Align comment for better readability. (GH-26192) 2021-06-04 18:41:23 -03:00
Erlend Egeberg Aasland
7459208de1
bpo-44315: Remove unused connection argument from pysqlite_step() (GH-26535) 2021-06-04 21:42:20 +01:00
Erlend Egeberg Aasland
006fd869e4
bpo-43853: Handle sqlite3_value_text() errors (GH-25422) 2021-06-04 19:34:00 +01:00
Erlend Egeberg Aasland
8363ac8607
bpo-44041: Add test for sqlite3 column count (GH-25907) 2021-06-04 18:36:08 +01:00
Pablo Galindo
17c4edc4e0
bpo-43693: Revert commits 2c1e2583fdc4db6b43d163239ea42b0e8394171f and b2bf2bc1ece673d387341e06c8d3c2bc6e259747 (GH-26530)
* Revert "bpo-43693: Compute deref offsets in compiler (gh-25152)"

This reverts commit b2bf2bc1ece673d387341e06c8d3c2bc6e259747.

* Revert "bpo-43693: Add new internal code objects fields: co_fastlocalnames and co_fastlocalkinds. (gh-26388)"

This reverts commit 2c1e2583fdc4db6b43d163239ea42b0e8394171f.

These two commits are breaking the refleak buildbots.
2021-06-04 17:51:05 +01:00
stratakis
a46c220edc
bpo-44048: Fix two hashlib test cases under FIPS mode (GH-26470)
test_disallow_instantiation and test_readonly_types try to test all the available
digests, however under FIPS mode, while the algorithms are available, trying to use
them will fail with a ValueError.
2021-06-04 17:47:59 +01:00
Christian Heimes
6ab65c670d
Removing myself from ssl code ownership (GH-26529)
I'm taking a break.

Signed-off-by: Christian Heimes <christian@python.org>
2021-06-04 15:01:31 +02:00
Mark Shannon
b2bf2bc1ec
bpo-43693: Compute deref offsets in compiler (gh-25152)
Merges locals and cells into a single array.
Saves a pointer in the interpreter and means that we don't need the LOAD_CLOSURE opcode any more

https://bugs.python.org/issue43693
2021-06-03 18:03:54 -06:00
Max Bélanger
35002aa8f6
bpo-32280: Store _PyRuntime in a named section (GH-4802)
This commit stores the _PyRuntime structure in a section of the same name. This allows a debugging or crash reporting tool to quickly locate this structure at runtime without requiring the symbol table.

Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2021-06-04 00:37:29 +01:00
Pablo Galindo
b250f89bb7
bpo-44305: Improve syntax error for try blocks without except or finally (GH-26523) 2021-06-03 23:52:12 +01:00
Erlend Egeberg Aasland
3446516ffa
bpo-44042: Optimize sqlite3 begin transaction (GH-25908) 2021-06-03 22:24:25 +01:00
Victor Stinner
5c2191df9a
bpo-43921: Cleanup test_ssl.test_wrong_cert_tls13() (GH-26520)
Don't catch OSError, and check the SSLError message.
2021-06-03 22:12:31 +02:00
Batuhan Taskaya
f3491242e4
bpo-11105: Do not crash when compiling recursive ASTs (GH-20594)
When compiling an AST object with a direct / indirect reference
cycles, on the conversion phase because of exceeding amount of
calls, a segfault was raised. This patch adds recursion guards to
places for preventing user inputs to not to crash AST but instead
raise a RecursionError.
2021-06-03 21:01:02 +01:00
Erlend Egeberg Aasland
f461a7fc3f
bpo-42862: Use functools.lru_cache iso. _sqlite.Cache in sqlite3 module (GH-24203)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2021-06-03 20:59:26 +01:00
Victor Stinner
f3fa63ec75
bpo-39573: Py_TYPE becomes a static inline function (GH-26493)
Convert the Py_TYPE() and Py_SIZE() macros to static inline
functions. The Py_SET_TYPE() and Py_SET_SIZE() functions must now be
used to set an object type and size.
2021-06-03 18:42:59 +02:00
Erlend Egeberg Aasland
d88b47b5a3
bpo-42213: Remove redundant cyclic GC hack in sqlite3 (GH-26517)
The sqlite3 module now fully implements the GC protocol, so there's no
need for this workaround anymore.

- Add and use managed resource helper for connections using TESTFN
- Sort test imports
- Split open-tests into their own test case

Automerge-Triggered-By: GH:vstinner
2021-06-03 09:38:19 -07:00
Eric Snow
2c1e2583fd
bpo-43693: Add new internal code objects fields: co_fastlocalnames and co_fastlocalkinds. (gh-26388)
A number of places in the code base (notably ceval.c and frameobject.c) rely on mapping variable names to indices in the frame "locals plus" array (AKA fast locals), and thus opargs.  Currently the compiler indirectly encodes that information on the code object as the tuples co_varnames, co_cellvars, and co_freevars.  At runtime the dependent code must calculate the proper mapping from those, which isn't ideal and impacts performance-sensitive sections.  This is something we can easily address in the compiler instead.

This change addresses the situation by replacing internal use of co_varnames, etc. with a single combined tuple of names in locals-plus order, along with a minimal array mapping each to its kind (local vs. cell vs. free).  These two new PyCodeObject fields, co_fastlocalnames and co_fastllocalkinds, are not exposed to Python code for now, but co_varnames, etc. are still available with the same values as before (though computed lazily).

Aside from the (mild) performance impact, there are a number of other benefits:

* there's now a clear, direct relationship between locals-plus and variables
* code that relies on the locals-plus-to-name mapping is simpler
* marshaled code objects are smaller and serialize/de-serialize faster

Also note that we can take this approach further by expanding the possible values in co_fastlocalkinds to include specific argument types (e.g. positional-only, kwargs).  Doing so would allow further speed-ups in _PyEval_MakeFrameVector(), which is where args get unpacked into the locals-plus array.  It would also allow us to shrink marshaled code objects even further.

https://bugs.python.org/issue43693
2021-06-03 10:28:27 -06:00
Victor Stinner
ea0210fa8c
bpo-43921: Fix test_ssl.test_wrong_cert_tls13() on Windows (GH-26502)
Fix test_ssl.test_wrong_cert_tls13(): use suppress_ragged_eofs=False,
since read() can raise ssl.SSLEOFError on Windows.
2021-06-03 18:04:25 +02:00
Erlend Egeberg Aasland
82ad22a97d
bpo-42213: Check connection in sqlite3.Connection.__enter__ (GH-26512)
Try to harden connection close:

- add tests that exercise stuff against a closed database
- add wrapper for sqlite3_close_v2()
- check connection on __enter__
- explicitly free pending statements before close()
- sqlite3_close_v2() always returns SQLITE_OK
2021-06-03 17:53:47 +02:00
Mark Shannon
937cebc93b
bpo-44298: Fix line numbers for early exits in with statements. (GH-26513) 2021-06-03 16:45:58 +01:00
Zackery Spytz
4eed2821d4
bpo-39560: Document PyUnicode_FromKindAndData() kind transformation (GH-23848) 2021-06-03 10:33:44 -03:00
andrei kulakov
8b93f0e696
bpo-43858: Add logging.getLevelNamesMapping() (GH-26459)
Added a function that returns a copy of a dict of logging levels.
2021-06-03 01:12:59 -07:00
Wm. Keith van der Meulen
4846ea95d1
Add bpo-42914 to What's New (GH-25124)
BPO-42914 was not added to the What's New in #24864. This includes it in the "Improved Modules" section.

Automerge-Triggered-By: GH:gpshead
2021-06-02 20:45:34 -07:00
Gregory P. Smith
e60ab843cb
bpo-44022: Improve the regression test. (GH-26503)
It wasn't actually detecting the regression due to the
assertion being too lenient.
2021-06-02 20:43:38 -07:00
Tal Einat
adef445dc3
bpo-44282: Fix occasional test_incremental_editing failures on buildbots (GH-26491)
Signed-off-by: Tal Einat <532281+taleinat@users.noreply.github.com>
2021-06-03 01:53:41 +02:00
Victor Stinner
320eaa7f42
bpo-43921: Fix test_ssl.test_pha_required_nocert() (GH-26489)
Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases
(when the recv() method returns an empty string).
2021-06-02 22:25:26 +02:00
dependabot[bot]
8916633b76
build(deps): bump actions/cache from 2.1.5 to 2.1.6 (GH-26476)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-02 14:34:45 -03:00
Zac Bentley
225caf78d1
Typo fix in asyncio-eventloop.rst (GH-26482) 2021-06-02 12:00:25 -03:00
stratakis
bdb56902a3
bpo-44285: getpath.c: Assert that env_file is NULL during an error check (GH-26486)
This was flagged by a static analyzer, but the logic of why this is NULL on error is hard to follow for humans as well.
2021-06-02 16:54:33 +02:00
Erlend Egeberg Aasland
fbf25b8c0d
bpo-44165: pysqlite_statement_create now returns a Py object, not an int (GH-26484)
GH-26206 was broken by GH-26475.
2021-06-02 14:22:15 +01:00
Irit Katriel
7b1f527d5b
bpo-17792: more accurate error message for unbound variable access exceptions (GH-24976) 2021-06-02 14:09:04 +01:00
Mariusz Felisiak
1a8c778471
Remove duplicate address in CommonTestMixin_v4.test_leading_zeros() (GH-26326) 2021-06-02 13:30:13 +01:00
Erlend Egeberg Aasland
a384b6c040
bpo-44165: Optimise sqlite3 statement preparation by passing string size (GH-26206) 2021-06-02 13:26:06 +01:00
Victor Stinner
ee7637596d
bpo-44263: Py_TPFLAGS_HAVE_GC requires tp_traverse (GH-26463)
The PyType_Ready() function now raises an error if a type is defined
with the Py_TPFLAGS_HAVE_GC flag set but has no traverse function
(PyTypeObject.tp_traverse).
2021-06-01 23:37:12 +02:00
Rishi
fcda0f508e
Fix typo in block comment in Include/internal/pycore_condvar.h (GH-26457) 2021-06-01 18:30:05 -03:00
MapleCCC
87272b70f1
bpo-44279: [doc] reword contextlib.suppress documentation (GH-26428) 2021-06-01 21:15:30 +01:00
Serhiy Storchaka
39dd141a4b
bpo-44273: Improve syntax error message for assigning to "..." (GH-26477)
Use "ellipsis" instead of "Ellipsis" in syntax error messages to eliminate confusion with built-in variable Ellipsis.
2021-06-01 12:07:05 +01:00
Erlend Egeberg Aasland
fffa0f92ad
bpo-42972: Track sqlite3 statement objects (GH-26475)
Allocate and track statement objects in pysqlite_statement_create.

By allocating and tracking creation of statement object in
pysqlite_statement_create(), the caller does not need to worry about GC
syncronization, and eliminates the possibility of getting a badly
created object. All related fault handling is moved to
pysqlite_statement_create().

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-06-01 12:47:37 +02:00
Serhiy Storchaka
a6a2065881
bpo-44260: Do not read system entropy without need in Random() (GH-26455) 2021-05-31 23:24:20 +03:00
Jason R. Coombs
78d9a9b190
bpo-44246: Remove note about access by index now that a compatibility shim is offered. (GH-26472) 2021-05-31 12:29:24 -04:00
Jason R. Coombs
c34ed08d97
bpo-44246: Restore compatibility in entry_points (GH-26468)
* bpo-44246: Entry points performance improvements.

From importlib_metadata 4.3.1.

* bpo-44246: Sync with importlib_metadata 4.4
2021-05-31 12:19:42 -04:00
Jason R. Coombs
410b70d39d
bpo-44246: Entry points performance improvements. (GH-26467)
From importlib_metadata 4.3.1.
2021-05-31 11:52:29 -04:00