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>
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index fbfba64..1ec756f 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"