]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-128770: fix ResourceWarning in test_pyrepl (#128906)
authorThomas Grainger <tagrain@gmail.com>
Wed, 22 Jan 2025 12:48:33 +0000 (12:48 +0000)
committerGitHub <noreply@github.com>
Wed, 22 Jan 2025 12:48:33 +0000 (12:48 +0000)
Lib/test/test_pyrepl/test_pyrepl.py

index 00dc990d946a9bdf91adbcdff624652f932b5ce6..3540d2a5a4166250043bfa126049393d3f7fddac 100644 (file)
@@ -1324,22 +1324,21 @@ class TestMain(ReplTestCase):
         if readline.backend != "editline":
             self.skipTest("GNU readline is not affected by this issue")
 
-        hfile = tempfile.NamedTemporaryFile()
-        self.addCleanup(unlink, hfile.name)
-        env = os.environ.copy()
-        env["PYTHON_HISTORY"] = hfile.name
-
-        env["PYTHON_BASIC_REPL"] = "1"
-        output, exit_code = self.run_repl("spam \nexit()\n", env=env)
-        self.assertEqual(exit_code, 0)
-        self.assertIn("spam ", output)
-        self.assertNotEqual(pathlib.Path(hfile.name).stat().st_size, 0)
-        self.assertIn("spam\\040", pathlib.Path(hfile.name).read_text())
-
-        env.pop("PYTHON_BASIC_REPL", None)
-        output, exit_code = self.run_repl("exit\n", env=env)
-        self.assertEqual(exit_code, 0)
-        self.assertNotIn("\\040", pathlib.Path(hfile.name).read_text())
+        with tempfile.NamedTemporaryFile() as hfile:
+            env = os.environ.copy()
+            env["PYTHON_HISTORY"] = hfile.name
+
+            env["PYTHON_BASIC_REPL"] = "1"
+            output, exit_code = self.run_repl("spam \nexit()\n", env=env)
+            self.assertEqual(exit_code, 0)
+            self.assertIn("spam ", output)
+            self.assertNotEqual(pathlib.Path(hfile.name).stat().st_size, 0)
+            self.assertIn("spam\\040", pathlib.Path(hfile.name).read_text())
+
+            env.pop("PYTHON_BASIC_REPL", None)
+            output, exit_code = self.run_repl("exit\n", env=env)
+            self.assertEqual(exit_code, 0)
+            self.assertNotIn("\\040", pathlib.Path(hfile.name).read_text())
 
     def test_keyboard_interrupt_after_isearch(self):
         output, exit_code = self.run_repl(["\x12", "\x03", "exit"])