]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-107705: Fix file leak in test_tkinter in the C locale (GH-110507) (GH-110857)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 14 Oct 2023 06:43:59 +0000 (08:43 +0200)
committerGitHub <noreply@github.com>
Sat, 14 Oct 2023 06:43:59 +0000 (06:43 +0000)
(cherry picked from commit ca0f3d858d069231ce7c5b382790a774f385b467)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Lib/test/test_tkinter/test_images.py

index 9f49d6efc7892ef5dfa13c1fc8c1ef5c3fcfd774..cc1ed286011af04beb1eb4a922503d63b346fd14 100644 (file)
@@ -357,13 +357,18 @@ class PhotoImageTest(AbstractTkTest, unittest.TestCase):
         self.assertRaises(tkinter.TclError, image.get, 15, 16)
 
     def test_write(self):
+        filename = os_helper.TESTFN
+        import locale
+        if locale.getlocale()[0] is None:
+            # Tcl uses Latin1 in the C locale
+            filename = os_helper.TESTFN_ASCII
         image = self.create()
-        self.addCleanup(os_helper.unlink, os_helper.TESTFN)
+        self.addCleanup(os_helper.unlink, filename)
 
-        image.write(os_helper.TESTFN)
+        image.write(filename)
         image2 = tkinter.PhotoImage('::img::test2', master=self.root,
                                     format='ppm',
-                                    file=os_helper.TESTFN)
+                                    file=filename)
         self.assertEqual(str(image2), '::img::test2')
         self.assertEqual(image2.type(), 'photo')
         self.assertEqual(image2.width(), 16)
@@ -371,10 +376,10 @@ class PhotoImageTest(AbstractTkTest, unittest.TestCase):
         self.assertEqual(image2.get(0, 0), image.get(0, 0))
         self.assertEqual(image2.get(15, 8), image.get(15, 8))
 
-        image.write(os_helper.TESTFN, format='gif', from_coords=(4, 6, 6, 9))
+        image.write(filename, format='gif', from_coords=(4, 6, 6, 9))
         image3 = tkinter.PhotoImage('::img::test3', master=self.root,
                                     format='gif',
-                                    file=os_helper.TESTFN)
+                                    file=filename)
         self.assertEqual(str(image3), '::img::test3')
         self.assertEqual(image3.type(), 'photo')
         self.assertEqual(image3.width(), 2)