Index: Lib/test/test_builtin.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_builtin.py,v retrieving revision 1.27 diff -c -r1.27 test_builtin.py *** Lib/test/test_builtin.py 17 Dec 2003 20:43:32 -0000 1.27 --- Lib/test/test_builtin.py 1 Feb 2004 05:41:30 -0000 *************** *** 3,9 **** import test.test_support, unittest from test.test_support import fcmp, have_unicode, TESTFN, unlink ! import sys, warnings, cStringIO, random warnings.filterwarnings("ignore", "hex../oct.. of negative int", FutureWarning, __name__) warnings.filterwarnings("ignore", "integer argument expected", --- 3,9 ---- import test.test_support, unittest from test.test_support import fcmp, have_unicode, TESTFN, unlink ! import os, sys, warnings, cStringIO, random warnings.filterwarnings("ignore", "hex../oct.. of negative int", FutureWarning, __name__) warnings.filterwarnings("ignore", "integer argument expected", *************** *** 931,936 **** --- 931,949 ---- self.assertEqual(input(), 'whitespace') sys.stdin = cStringIO.StringIO() self.assertRaises(EOFError, input) + + # SF 876178: make sure input() respect future options. + sys.stdin = cStringIO.StringIO('1/2') + sys.stdout = cStringIO.StringIO() + exec compile('print input()', 'test_builtin_tmp', 'exec') + sys.stdin.seek(0, 0) + exec compile('from __future__ import division;print input()', + 'test_builtin_tmp', 'exec') + sys.stdin.seek(0, 0) + exec compile('print input()', 'test_builtin_tmp', 'exec') + self.assertEqual(sys.stdout.getvalue().splitlines(), + ['0', '0.5', '0']) + del sys.stdout self.assertRaises(RuntimeError, input, 'prompt') del sys.stdin