From bf13dbdb80573a10942a23e4b6071aaa5d3e64cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Mon, 17 Jul 2023 11:35:38 +0200
Subject: [PATCH] Update a test regex to work with Python 3.12+
Fixes https://github.com/tox-dev/tox/issues/3065
New message:
"argument should be a str or an os.PathLike object where __fspath__ returns a str, not 'type'"
---
docs/changelog/3065.bugfix.rst | 1 +
tests/config/loader/test_memory_loader.py | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 docs/changelog/3065.bugfix.rst
diff --git a/docs/changelog/3065.bugfix.rst b/docs/changelog/3065.bugfix.rst
new file mode 100644
index 000000000..774b33b24
--- /dev/null
+++ b/docs/changelog/3065.bugfix.rst
@@ -0,0 +1 @@
+Update a regular expression in tests to match the exception message in both Python 3.12 and older.
diff --git a/tests/config/loader/test_memory_loader.py b/tests/config/loader/test_memory_loader.py
index 6f645540e..8ab7f8f62 100644
--- a/tests/config/loader/test_memory_loader.py
+++ b/tests/config/loader/test_memory_loader.py
@@ -66,7 +66,7 @@ def test_memory_loader(value: Any, of_type: type[Any], outcome: Any) -> None:
(["m"], List[int], ValueError, "invalid literal for int"),
({"m": 1}, Dict[int, int], ValueError, "invalid literal for int"),
({1: "m"}, Dict[int, int], ValueError, "invalid literal for int"),
- (object, Path, TypeError, "expected str, bytes or os.PathLike object"),
+ (object, Path, TypeError, r"str(, bytes)? or (an )?os\.PathLike object"),
(1, Command, TypeError, "1"),
(1, EnvList, TypeError, "1"),
],