From 4e0147ec50aa62315c5a9aa7c88c181f57aadf42 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 10 Aug 2021 07:31:00 -0700 Subject: [PATCH] bpo-14853: add back the stdin test, skip if stdin is redirected (GH-27694) (cherry picked from commit 8ed183391241f0c73e7ba7f42b1d49fc02985f7b) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> --- Lib/test/test_file.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py index fbfba64759a1..1ec756f334d2 100644 --- a/Lib/test/test_file.py +++ b/Lib/test/test_file.py @@ -154,6 +154,22 @@ def testModeStrings(self): f.close() self.fail('%r is an invalid file mode' % mode) + def testStdin(self): + if sys.platform == 'osf1V5': + # This causes the interpreter to exit on OSF1 v5.1. + self.skipTest( + ' sys.stdin.seek(-1) may crash the interpreter on OSF1.' + ' Test manually.') + + if not sys.stdin.isatty(): + # Issue 14853: stdin becomes seekable when redirected to a file + self.skipTest('stdin must be a TTY in this test') + + with self.assertRaises((IOError, ValueError)): + sys.stdin.seek(-1) + with self.assertRaises((IOError, ValueError)): + sys.stdin.truncate() + def testBadModeArgument(self): # verify that we get a sensible error message for bad mode argument bad_mode = "qwerty"