annotate Lib/test/test_support.py @ 79691:05c8928362ee

Merge __next__ method link fixes with 3.3.
author Ezio Melotti <ezio.melotti@gmail.com>
date Fri, 12 Oct 2012 13:46:37 +0300
parents b1d6daface10
children af2416c2e27c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
1 #!/usr/bin/env python
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
2
76303
2dd046be2c88 Issue #2377: Make importlib the implementation of __import__().
Brett Cannon <brett@python.org>
parents: 71721
diff changeset
3 import importlib
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
4 import sys
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
5 import os
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
6 import unittest
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
7 import socket
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
8 import tempfile
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
9 import errno
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
10 from test import support
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
11
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
12 TESTFN = support.TESTFN
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
13 TESTDIRN = os.path.basename(tempfile.mkdtemp(dir='.'))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
14
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
15
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
16 class TestSupport(unittest.TestCase):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
17 def setUp(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
18 support.unlink(TESTFN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
19 support.rmtree(TESTDIRN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
20 tearDown = setUp
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
21
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
22 def test_import_module(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
23 support.import_module("ftplib")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
24 self.assertRaises(unittest.SkipTest, support.import_module, "foo")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
25
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
26 def test_import_fresh_module(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
27 support.import_fresh_module("ftplib")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
28
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
29 def test_get_attribute(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
30 self.assertEqual(support.get_attribute(self, "test_get_attribute"),
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
31 self.test_get_attribute)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
32 self.assertRaises(unittest.SkipTest, support.get_attribute, self, "foo")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
33
71473
0018a28583f4 Issue #11049: skip a test that fails on some buildbots
Eli Bendersky <eliben@gmail.com>
parents: 71466
diff changeset
34 @unittest.skip("failing buildbots")
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
35 def test_get_original_stdout(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
36 self.assertEqual(support.get_original_stdout(), sys.stdout)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
37
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
38 def test_unload(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
39 import sched
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
40 self.assertIn("sched", sys.modules)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
41 support.unload("sched")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
42 self.assertNotIn("sched", sys.modules)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
43
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
44 def test_unlink(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
45 with open(TESTFN, "w") as f:
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
46 pass
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
47 support.unlink(TESTFN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
48 self.assertFalse(os.path.exists(TESTFN))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
49 support.unlink(TESTFN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
50
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
51 def test_rmtree(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
52 os.mkdir(TESTDIRN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
53 os.mkdir(os.path.join(TESTDIRN, TESTDIRN))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
54 support.rmtree(TESTDIRN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
55 self.assertFalse(os.path.exists(TESTDIRN))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
56 support.rmtree(TESTDIRN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
57
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
58 def test_forget(self):
71686
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
59 mod_filename = TESTFN + '.py'
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
60 with open(mod_filename, 'w') as f:
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
61 print('foo = 1', file=f)
71721
07d94cf3521e Issue #11049: fix test_forget on installed Python - add os.curdir to sys.path
Eli Bendersky <eliben@gmail.com>
parents: 71686
diff changeset
62 sys.path.insert(0, os.curdir)
76303
2dd046be2c88 Issue #2377: Make importlib the implementation of __import__().
Brett Cannon <brett@python.org>
parents: 71721
diff changeset
63 importlib.invalidate_caches()
71686
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
64 try:
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
65 mod = __import__(TESTFN)
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
66 self.assertIn(TESTFN, sys.modules)
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
67
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
68 support.forget(TESTFN)
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
69 self.assertNotIn(TESTFN, sys.modules)
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
70 finally:
71721
07d94cf3521e Issue #11049: fix test_forget on installed Python - add os.curdir to sys.path
Eli Bendersky <eliben@gmail.com>
parents: 71686
diff changeset
71 del sys.path[0]
71686
1a978892a105 Issue #11049: fix test_forget to work on installed Python, by using a temporary module for import/forget
Eli Bendersky <eliben@gmail.com>
parents: 71473
diff changeset
72 support.unlink(mod_filename)
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
73
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
74 def test_HOST(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
75 s = socket.socket()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
76 s.bind((support.HOST, 0))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
77 s.close()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
78
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
79 def test_find_unused_port(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
80 port = support.find_unused_port()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
81 s = socket.socket()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
82 s.bind((support.HOST, port))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
83 s.close()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
84
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
85 def test_bind_port(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
86 s = socket.socket()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
87 support.bind_port(s)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
88 s.listen(1)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
89 s.close()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
90
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
91 def test_temp_cwd(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
92 here = os.getcwd()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
93 with support.temp_cwd(name=TESTFN):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
94 self.assertEqual(os.path.basename(os.getcwd()), TESTFN)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
95 self.assertFalse(os.path.exists(TESTFN))
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
96 self.assertTrue(os.path.basename(os.getcwd()), here)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
97
79087
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
98 def test_temp_cwd__chdir_warning(self):
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
99 """Check the warning message when os.chdir() fails."""
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
100 path = TESTFN + '_does_not_exist'
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
101 with support.check_warnings() as recorder:
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
102 with support.temp_cwd(path=path, quiet=True):
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
103 pass
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
104 messages = [str(w.message) for w in recorder.warnings]
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
105 self.assertEqual(messages, ['tests may fail, unable to change the CWD to ' + path])
b1d6daface10 #15304: merge with 3.2.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 76303
diff changeset
106
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
107 def test_sortdict(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
108 self.assertEqual(support.sortdict({3:3, 2:2, 1:1}), "{1: 1, 2: 2, 3: 3}")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
109
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
110 def test_make_bad_fd(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
111 fd = support.make_bad_fd()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
112 with self.assertRaises(OSError) as cm:
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
113 os.write(fd, b"foo")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
114 self.assertEqual(cm.exception.errno, errno.EBADF)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
115
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
116 def test_check_syntax_error(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
117 support.check_syntax_error(self, "def class")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
118 self.assertRaises(AssertionError, support.check_syntax_error, self, "1")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
119
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
120 def test_CleanImport(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
121 import importlib
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
122 with support.CleanImport("asyncore"):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
123 importlib.import_module("asyncore")
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
124
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
125 def test_DirsOnSysPath(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
126 with support.DirsOnSysPath('foo', 'bar'):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
127 self.assertIn("foo", sys.path)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
128 self.assertIn("bar", sys.path)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
129 self.assertNotIn("foo", sys.path)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
130 self.assertNotIn("bar", sys.path)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
131
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
132 def test_captured_stdout(self):
71466
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
133 with support.captured_stdout() as s:
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
134 print("hello")
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
135 self.assertEqual(s.getvalue(), "hello\n")
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
136
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
137 def test_captured_stderr(self):
71466
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
138 with support.captured_stderr() as s:
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
139 print("hello", file=sys.stderr)
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
140 self.assertEqual(s.getvalue(), "hello\n")
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
141
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
142 def test_captured_stdin(self):
71466
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
143 with support.captured_stdin() as s:
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
144 print("hello", file=sys.stdin)
e9d0503a2113 fixing whitespace in the previous commit
Eli Bendersky <eliben@gmail.com>
parents: 71465
diff changeset
145 self.assertEqual(s.getvalue(), "hello\n")
71465
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
146
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
147 def test_gc_collect(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
148 support.gc_collect()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
149
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
150 def test_python_is_optimized(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
151 self.assertIsInstance(support.python_is_optimized(), bool)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
152
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
153 def test_swap_attr(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
154 class Obj:
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
155 x = 1
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
156 obj = Obj()
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
157 with support.swap_attr(obj, "x", 5):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
158 self.assertEqual(obj.x, 5)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
159 self.assertEqual(obj.x, 1)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
160
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
161 def test_swap_item(self):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
162 D = {"item":1}
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
163 with support.swap_item(D, "item", 5):
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
164 self.assertEqual(D["item"], 5)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
165 self.assertEqual(D["item"], 1)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
166
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
167 # XXX -follows a list of untested API
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
168 # make_legacy_pyc
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
169 # is_resource_enabled
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
170 # requires
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
171 # fcmp
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
172 # umaks
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
173 # findfile
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
174 # check_warnings
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
175 # EnvironmentVarGuard
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
176 # TransientResource
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
177 # transient_internet
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
178 # run_with_locale
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
179 # set_memlimit
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
180 # bigmemtest
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
181 # precisionbigmemtest
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
182 # bigaddrspacetest
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
183 # requires_resource
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
184 # run_doctest
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
185 # threading_cleanup
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
186 # reap_threads
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
187 # reap_children
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
188 # strip_python_stderr
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
189 # args_from_interpreter_flags
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
190 # can_symlink
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
191 # skip_unless_symlink
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
192
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
193
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
194 def test_main():
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
195 tests = [TestSupport]
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
196 support.run_unittest(*tests)
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
197
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
198 if __name__ == '__main__':
be558ad15789 Issue #11049: adding some tests to test.support
Eli Bendersky <eliben@gmail.com>
parents:
diff changeset
199 test_main()