Commit graph

30027 commits

Author SHA1 Message Date
Erlend E. Aasland
41ad4dfc04
gh-105063: Disable test_peg_generator.TestCParser bco. ref leaks (#106024)
Since gh-104798 (Use setuptools in peg-generator and reenable
tests), the TestCParser test case has been producing ref leaks.
2023-06-23 19:04:17 +02:00
Alex Waygood
9499b0f138
gh-105974: Revert unintentional behaviour change for protocols with non-callable members and custom __subclasshook__ methods (#105976) 2023-06-23 14:59:25 +00:00
Erlend E. Aasland
37c5c40125
gh-85136: Remove disabled remote IMAP tests (#106022)
Tests had been disabled since Jun 12, 2020 (gh-20836).
2023-06-23 13:39:50 +00:00
Brandt Bucher
403a574b00
Test specialization's thread-safety (GH-105953) 2023-06-22 22:02:38 +00:00
chgnrdv
cd5280367a
gh-105979: Fix exception handling in unmarshal_frozen_code (Python/import.c) (#105980) 2023-06-22 21:30:19 +00:00
Pablo Galindo Salgado
13237a2da8
gh-98931: Add custom error messages to invalid import/from with multiple targets (#105985)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-22 15:56:40 +00:00
Barney Gale
a8006706f7
GH-89812: Add pathlib.UnsupportedOperation (GH-105926)
This new exception type is raised instead of `NotImplementedError` when
a path operation is not supported. It can be raised from `Path.readlink()`,
`symlink_to()`, `hardlink_to()`, `owner()` and `group()`. In a future
version of pathlib, it will be raised by `AbstractPath` for these methods
and others, such as `AbstractPath.mkdir()` and `unlink()`.
2023-06-22 14:35:51 +01:00
Mark Shannon
04492cbc9a
GH-91095: Specialize calls to normal Python classes. (GH-99331) 2023-06-22 09:48:19 +01:00
Victor Stinner
9c44656feb
gh-105927: Add PyWeakref_GetRef() function (#105932)
Add tests on PyWeakref_NewRef(), PyWeakref_GetObject(),
PyWeakref_GET_OBJECT() and PyWeakref_GetRef().
2023-06-21 11:40:09 +02:00
Lysandros Nikolaou
6e40ee6e84
gh-105915: Fix SyntaxWarning becoming a SyntaxError with -We in test_fstring (#105943) 2023-06-20 16:13:07 +02:00
Lysandros Nikolaou
4b431d2e90
gh-105915: Add 'r' prefix to not emit SyntaxWarning in test_fstring (#105940)
Co-authored-by: @sunmy2019
2023-06-20 14:49:00 +02:00
Lysandros Nikolaou
6586cee27f
gh-105938: Emit a SyntaxWarning for escaped braces in an f-string (#105939) 2023-06-20 12:38:46 +00:00
Victor Stinner
03f1a132ee
gh-105922: Add PyImport_AddModuleRef() function (#105923)
* Add tests on PyImport_AddModuleRef(), PyImport_AddModule() and
  PyImport_AddModuleObject().
* pythonrun.c: Replace Py_XNewRef(PyImport_AddModule(name)) with
  PyImport_AddModuleRef(name).
2023-06-20 08:48:14 +02:00
Crowthebird
28187a9c4f
gh-105908: fix barry_as_FLUFL future import (#105909) 2023-06-19 22:50:57 +01:00
T. Wouters
1858db7cbd
GH-105808: Fix a regression introduced in GH-101251 (#105910)
Fix a regression introduced in pythonGH-101251, causing GzipFile.flush() to
not flush the compressor (nor pass along the zip_mode argument).
2023-06-19 17:09:04 +00:00
Lysandros Nikolaou
ab3823a97b
gh-71299: Fix __all__ in tokenize (#105907)
Co-authored-by: Unit03
2023-06-19 13:31:57 +02:00
Mark Shannon
581619941e
GH-104584: Assorted fixes for the optimizer API. (GH-105683)
* Add test for long loops

* Clear ENTER_EXECUTOR when deopting code objects.
2023-06-19 10:32:20 +01:00
Erlend E. Aasland
6849acb3fe
gh-105875: Require SQLite 3.15.2 or newer (#105876)
SQLite 3.15.2 was released 2016-11-28.
2023-06-19 00:29:08 +02:00
Irit Katriel
14d01262da
gh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and replace by their new versions (#105865) 2023-06-17 17:00:16 +01:00
Brandt Bucher
2beab5bdef
GH-105840: Fix assertion failures when specializing calls with too many __defaults__ (GH-105847) 2023-06-16 11:01:15 -07:00
Jelle Zijlstra
957a974d4f
gh-104799: PEP 695 backward compatibility for ast.unparse (#105846) 2023-06-16 09:31:23 -07:00
Alex Waygood
70c075c194
gh-105834: Add tests for calling issubclass() between two protocols (#105835)
Some parts of the implementation of `typing.Protocol` had poor test coverage
2023-06-16 15:47:55 +00:00
Nikita Sobolev
1af8251d9e
gh-105433: Add pickle tests for PEP695 (#105443) 2023-06-15 17:58:40 -07:00
Tian Gao
25a64fd28a
GH-103124: Multiline statement support for pdb (GH-103125) 2023-06-15 23:34:42 +00:00
Brandt Bucher
a4056c8f9c
GH-105588: Add missing error checks to some obj2ast_* converters (GH-105589) 2023-06-15 15:45:13 -07:00
Lysandros Nikolaou
d382ad4915
gh-105820: Fix tok_mode expression buffer in file & readline tokenizer (#105828) 2023-06-15 16:21:24 +00:00
Victor Stinner
8f10140e74
gh-105751, test_ctypes: Remove disabled tests (#105826)
* The following tests were disabled since the initial ctypes commit
  in 2006, commit babddfca75:

  * Callbacks.test_char_p()
  * DeletePointerTestCase.test_X()
  * NumberTestCase.test_perf()
  * StructureTestCase.test_subclass_creation()
  * Tests.test_X() of test_byteswap

* NumberTestCase.test_bool_from_address() was disabled in 2007 by
  commit 5dc4fe09b7.
* Remove check_perf() and run_test() of test_numbers.
2023-06-15 12:22:01 +00:00
Pablo Galindo Salgado
09ce8c3b48
gh-105821: Use a raw f-string in test_httpservers.py (#105822)
Use a raw f-string in test_httpservers.py
2023-06-15 10:48:01 +00:00
Victor Stinner
c5111aec2b
gh-105751: Remove platform usage in test_ctypes (#105819)
The MACHINE variable is no longer used in test_structures.
2023-06-15 09:44:54 +00:00
Victor Stinner
b496ff3109
gh-105751: Reenable disable test_ctypes tests (#105818)
Reenable 3 tests:

* test_overflow()
* test_basic_wstrings()
* test_toolong()
2023-06-15 09:36:41 +00:00
Victor Stinner
0841ca7932
gh-105751: Remove dead code in test_ctypes (#105817)
* Remove "except: print(tp); raise" debug code.
* Remove unused NoNullHandle() function.
* Remove commented code.
2023-06-15 09:31:09 +00:00
Barney Gale
10bf2cd404
GH-89812: Churn pathlib.Path test methods (#105807)
Re-arrange `pathlib.Path` test methods in source code. No other changes.

The test methods are arranged in two groups. The first group checks
`stat()`, `open()`, `iterdir()`, `readlink()`, and derived methods like
`exists()`, `read_text()`, `glob()` and `resolve()`. The second group
checks all other `Path` methods. To minimise the diff I've maintained the
method order within groups where possible.

This patch prepares the ground for a new `_AbstractPath` class, which will
support methods in the first group above. By churning the test methods
here, subsequent patches will be easier to review and less likely to break
things.
2023-06-15 01:31:30 +00:00
Pablo Galindo Salgado
12b6d844d8
gh-105800: Issue SyntaxWarning in f-strings for invalid escape sequences (#105801) 2023-06-15 01:08:12 +01:00
Victor Stinner
698a0da7d4
gh-105751: Cleanup test_ctypes imports (#105803)
* Move imports at top level and sort imports.
* Replace c_buffer() with create_string_buffer(): c_buffer is a
  deprecated alias.
* PEP 8: Add empty lines for readability between imports and classes.
2023-06-14 23:31:45 +00:00
Victor Stinner
5ab13c5f97
gh-105751: test_ctypes avoids the operator module (GH-105797)
* Replace operator.delitem(obj, index) with "del obj[index]".
* Replace operator.setitem(obj, index, value) with
  "obj[index] = value".
* Replace delattr(obj, "attr) with "del obj.attr".
* Replace grc() with sys.getrefcount() for readability.
2023-06-14 21:29:05 +00:00
Victor Stinner
e7507bd131
gh-105751: test_ctypes: Remove @need_symbol decorator (GH-105798)
Remove the @need_symbol('...') decorator of test.test_ctypes since
requested symbols are now always always available in ctypes.

Use the @unittest.skipUnless() decorator directly for the two types
only available on Windows:

* ctypes.WINFUNCTYPE
* ctypes.oledll
2023-06-14 20:56:01 +00:00
Victor Stinner
820febc535
gh-75905: Remove test_xmlrpc_net: skipped since 2017 (#105796)
test_xmlrpc_net was skipped since 2017:
commit 73ffd3f203.

The public buildbot.python.org server has no XML-RPC interface
anymore, and no replacement server was found in 6 years.
2023-06-14 21:26:34 +02:00
Mark Shannon
1d857da7f0
GH-77273: Better bytecodes for f-strings (GH-6132) 2023-06-14 16:15:08 +01:00
Victor Stinner
307bceaa65
xmlrpc.client uses datetime.datetime.isoformat() (#105741)
Reimplement _iso8601_format() using the datetime isoformat() method.
Ignore the timezone.

Co-Authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
2023-06-14 17:00:40 +02:00
Alex Waygood
7b1f0f204a
gh-105570: Deprecate unusual ways of creating empty TypedDicts (#105780)
Deprecate two methods of creating typing.TypedDict classes with 0 fields using the functional syntax: `TD = TypedDict("TD")` and `TD = TypedDict("TD", None)`. Both will be disallowed in Python 3.15. To create a TypedDict class with 0 fields, either use `class TD(TypedDict): pass` or `TD = TypedDict("TD", {})`.
2023-06-14 14:58:41 +00:00
Alex Waygood
ad56340b66
gh-105566: Deprecate unusual ways of creating typing.NamedTuple classes (#105609)
Deprecate creating a typing.NamedTuple class using keyword arguments to denote the fields (`NT = NamedTuple("NT", x=int, y=str)`). This will be disallowed in Python 3.15. Use the class-based syntax or the functional syntax instead.

Two methods of creating `NamedTuple` classes with 0 fields using the functional syntax are also deprecated, and will be disallowed in Python 3.15: `NT = NamedTuple("NT")` and `NT = NamedTuple("NT", None)`. To create a `NamedTuple` class with 0 fields, either use `class NT(NamedTuple): pass` or `NT = NamedTuple("NT", [])`.
2023-06-14 13:38:49 +01:00
Jelle Zijlstra
fc8037d84c
gh-104873: Add typing.get_protocol_members and typing.is_protocol (#104878)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-14 05:35:06 -07:00
Nikita Sobolev
67f69dba0a
gh-105687: Remove deprecated objects from re module (#105688) 2023-06-14 12:26:20 +02:00
Barney Gale
dab5a3ebe8
GH-89812: Clean up pathlib tests. (#104829)
Clean up pathlib tests.

Merge `PurePathTest` into `_BasePurePathTest`, and `PathTest` into
`_BasePathTest`.
2023-06-14 06:06:58 +02:00
Victor Stinner
b95de96268
gh-105751: test_ctypes avoids "from ctypes import *" (#105768)
Using "import *" prevents linters like pyflakes to detect undefined names
(usually missing imports).

Replace c_voidp with c_void_p.
2023-06-14 03:34:11 +00:00
Victor Stinner
381a1dc261
gh-105751: test_ctypes.test_numbers uses top level imports (#105762)
Moroever, c_ulonglong and c_bool are always available.
2023-06-14 04:47:01 +02:00
Victor Stinner
ac7b551bde
gh-105751: test_ctypes gets Windows attrs from ctypes (#105758)
test_ctypes now gets attributes specific to Windows from the ctypes
module, rather than relying on "from ctypes import *".

Attributes:

* ctypes.FormatError
* ctypes.WINFUNCTYPE
* ctypes.WinError
* ctypes.WinDLL
* ctypes.windll
* ctypes.oledll
* ctypes.get_last_error()
* ctypes.set_last_error()
2023-06-14 04:46:47 +02:00
Eric Snow
fcf0647cf2
gh-104812: Skip Pending Calls Tests if No Threading (gh-105761)
This fixes the WASM buildbots.
2023-06-14 00:39:18 +00:00
Steve Dower
4cefe3cf10
gh-105436: Ignore unrelated errors when checking empty env (GH-105742) 2023-06-14 00:00:16 +01:00
Eric Snow
757b402ea1
gh-104812: Run Pending Calls in any Thread (gh-104813)
For a while now, pending calls only run in the main thread (in the main interpreter).  This PR changes things to allow any thread run a pending call, unless the pending call was explicitly added for the main thread to run.
2023-06-13 15:02:19 -06:00