From b4e3973505a2b7a2caa17ccc392d91a6ad73e122 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Tue, 11 Nov 2025 09:51:17 +0200 Subject: [PATCH] Merge pull request #13922 from bluetech/fix-argparse-userwarning config: fix `UserWarning: Do not expect file_or_dir` on some Python 3.12 and 3.13 point versions (cherry picked from commit 3d80757431c209eaae411909119bcc38a6847739) --- changelog/13910.bugfix.rst | 1 + src/_pytest/config/argparsing.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog/13910.bugfix.rst diff --git a/changelog/13910.bugfix.rst b/changelog/13910.bugfix.rst new file mode 100644 index 00000000000..f399f95b375 --- /dev/null +++ b/changelog/13910.bugfix.rst @@ -0,0 +1 @@ +Fixed `UserWarning: Do not expect file_or_dir` on some earlier Python 3.12 and 3.13 point versions. diff --git a/src/_pytest/config/argparsing.py b/src/_pytest/config/argparsing.py index 995408800a8..8216ad8b226 100644 --- a/src/_pytest/config/argparsing.py +++ b/src/_pytest/config/argparsing.py @@ -170,7 +170,7 @@ def parse_known_and_unknown_args( arguments, and a list of unknown flag arguments. """ strargs = [os.fspath(x) for x in args] - if sys.version_info < (3, 12): + if sys.version_info < (3, 12, 8) or (3, 13) <= sys.version_info < (3, 13, 1): # Older argparse have a bugged parse_known_intermixed_args. namespace, unknown = self.optparser.parse_known_args(strargs, namespace) assert namespace is not None