From b81d29120a2753d62a01d570206de7f70d227da3 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 14 Mar 2025 14:10:21 +0300 Subject: [PATCH 1/2] gh-131234: Improve `test_popen` with more asserts --- Lib/test/test_popen.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index e6bfc480cbd12c..280bc5a6c3f558 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -57,14 +57,17 @@ def test_return_code(self): def test_contextmanager(self): with os.popen("echo hello") as f: self.assertEqual(f.read(), "hello\n") + self.assertFalse(f.closed) def test_iterating(self): with os.popen("echo hello") as f: self.assertEqual(list(f), ["hello\n"]) + self.assertFalse(f.closed) def test_keywords(self): - with os.popen(cmd="exit 0", mode="w", buffering=-1): - pass + with os.popen(cmd="echo hello", mode="r", buffering=-1) as f: + self.assertEqual(f.read(), "hello\n") + self.assertFalse(f.closed) if __name__ == "__main__": unittest.main() From 8fe56146914df2c34ad6e8ce518e32b7d7e6aafa Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 14 Mar 2025 14:13:37 +0300 Subject: [PATCH 2/2] Address review --- Lib/test/test_popen.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index 280bc5a6c3f558..34cda35b17bdb0 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -58,16 +58,20 @@ def test_contextmanager(self): with os.popen("echo hello") as f: self.assertEqual(f.read(), "hello\n") self.assertFalse(f.closed) + self.assertTrue(f.closed) def test_iterating(self): with os.popen("echo hello") as f: self.assertEqual(list(f), ["hello\n"]) self.assertFalse(f.closed) + self.assertTrue(f.closed) def test_keywords(self): with os.popen(cmd="echo hello", mode="r", buffering=-1) as f: self.assertEqual(f.read(), "hello\n") self.assertFalse(f.closed) + self.assertTrue(f.closed) + if __name__ == "__main__": unittest.main()