GH-103525: Improve exception message from pathlib.PurePath() (GH-103526)

Check that arguments are strings before calling `os.path.join()`.

Also improve performance of `PurePath(PurePath(...))` while we're in the
area: we now use the *unnormalized* string path of such arguments.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
Barney Gale 2023-05-02 19:08:19 +01:00 committed by GitHub
parent d81ca7ec02
commit 8611e7bf5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 16 deletions

View file

@ -81,9 +81,9 @@ class _BasePurePathTest(object):
r"where __fspath__ returns a str, not 'bytes'")
with self.assertRaisesRegex(TypeError, message):
P(b'a')
with self.assertRaises(TypeError):
with self.assertRaisesRegex(TypeError, message):
P(b'a', 'b')
with self.assertRaises(TypeError):
with self.assertRaisesRegex(TypeError, message):
P('a', b'b')
with self.assertRaises(TypeError):
P('a').joinpath(b'b')