bpo-34333: Fix %-formatting in Path.with_suffix() (GH-8663)
(cherry picked from commit 423d05f6f59b24c91b9ef6b2e4ac130316764382)
Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 4fe9d4a..6be372e 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -813,7 +813,7 @@
"""
f = self._flavour
if f.sep in suffix or f.altsep and f.altsep in suffix:
- raise ValueError("Invalid suffix %r" % (suffix))
+ raise ValueError("Invalid suffix %r" % (suffix,))
if suffix and not suffix.startswith('.') or suffix == '.':
raise ValueError("Invalid suffix %r" % (suffix))
name = self.name
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index d95a831..ae7c75d 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -577,6 +577,8 @@
self.assertRaises(ValueError, P('a/b').with_suffix, '.c/.d')
self.assertRaises(ValueError, P('a/b').with_suffix, './.d')
self.assertRaises(ValueError, P('a/b').with_suffix, '.d/.')
+ self.assertRaises(ValueError, P('a/b').with_suffix,
+ (self.flavour.sep, 'd'))
def test_relative_to_common(self):
P = self.cls
diff --git a/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst b/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst
new file mode 100644
index 0000000..000f684
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst
@@ -0,0 +1,2 @@
+Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` when formatting an
+error message.