Mercurial > cpython-lru_cache-weakref
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 |
| 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() |
