Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_structmembers.py @ 79675:c0a2294de787 2.7
Issue #16199: Backport 2to3 typo fix from 3.2.
| author | Chris Jerdonek <chris.jerdonek@gmail.com> |
|---|---|
| date | Thu, 11 Oct 2012 16:15:46 -0700 |
| parents | b36cb4602e21 |
| children |
| rev | line source |
|---|---|
|
60228
2811be95c8c8
Merged revisions 79661 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
60227
diff
changeset
|
1 from _testcapi import _test_structmembersType, \ |
| 40177 | 2 CHAR_MAX, CHAR_MIN, UCHAR_MAX, \ |
| 3 SHRT_MAX, SHRT_MIN, USHRT_MAX, \ | |
| 4 INT_MAX, INT_MIN, UINT_MAX, \ | |
|
42009
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
5 LONG_MAX, LONG_MIN, ULONG_MAX, \ |
|
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
6 LLONG_MAX, LLONG_MIN, ULLONG_MAX |
| 40177 | 7 |
|
58817
70e115c34f97
Remove unused imports in test modules.
Georg Brandl <georg@python.org>
parents:
49146
diff
changeset
|
8 import unittest |
| 40177 | 9 from test import test_support |
| 10 | |
|
60228
2811be95c8c8
Merged revisions 79661 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
60227
diff
changeset
|
11 ts=_test_structmembersType(False, 1, 2, 3, 4, 5, 6, 7, 8, |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
12 9.99999, 10.1010101010, "hi") |
| 40177 | 13 |
| 14 class ReadWriteTests(unittest.TestCase): | |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
15 |
|
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
16 def test_bool(self): |
| 44864 | 17 ts.T_BOOL = True |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
18 self.assertEqual(ts.T_BOOL, True) |
| 44864 | 19 ts.T_BOOL = False |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
20 self.assertEqual(ts.T_BOOL, False) |
|
44863
eb4b50f739f6
Patch #1720595: add T_BOOL to the range of structmember types.
Georg Brandl <georg@python.org>
parents:
42795
diff
changeset
|
21 self.assertRaises(TypeError, setattr, ts, 'T_BOOL', 1) |
|
eb4b50f739f6
Patch #1720595: add T_BOOL to the range of structmember types.
Georg Brandl <georg@python.org>
parents:
42795
diff
changeset
|
22 |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
23 def test_byte(self): |
| 44864 | 24 ts.T_BYTE = CHAR_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
25 self.assertEqual(ts.T_BYTE, CHAR_MAX) |
| 44864 | 26 ts.T_BYTE = CHAR_MIN |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
27 self.assertEqual(ts.T_BYTE, CHAR_MIN) |
| 44864 | 28 ts.T_UBYTE = UCHAR_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
29 self.assertEqual(ts.T_UBYTE, UCHAR_MAX) |
| 40177 | 30 |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
31 def test_short(self): |
| 44864 | 32 ts.T_SHORT = SHRT_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
33 self.assertEqual(ts.T_SHORT, SHRT_MAX) |
| 44864 | 34 ts.T_SHORT = SHRT_MIN |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
35 self.assertEqual(ts.T_SHORT, SHRT_MIN) |
| 44864 | 36 ts.T_USHORT = USHRT_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
37 self.assertEqual(ts.T_USHORT, USHRT_MAX) |
| 40177 | 38 |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
39 def test_int(self): |
| 44864 | 40 ts.T_INT = INT_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
41 self.assertEqual(ts.T_INT, INT_MAX) |
| 44864 | 42 ts.T_INT = INT_MIN |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
43 self.assertEqual(ts.T_INT, INT_MIN) |
| 44864 | 44 ts.T_UINT = UINT_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
45 self.assertEqual(ts.T_UINT, UINT_MAX) |
| 40177 | 46 |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
47 def test_long(self): |
| 44864 | 48 ts.T_LONG = LONG_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
49 self.assertEqual(ts.T_LONG, LONG_MAX) |
| 44864 | 50 ts.T_LONG = LONG_MIN |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
51 self.assertEqual(ts.T_LONG, LONG_MIN) |
| 44864 | 52 ts.T_ULONG = ULONG_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
53 self.assertEqual(ts.T_ULONG, ULONG_MAX) |
| 40177 | 54 |
|
60206
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
55 @unittest.skipUnless(hasattr(ts, "T_LONGLONG"), "long long not present") |
|
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
56 def test_longlong(self): |
|
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
57 ts.T_LONGLONG = LLONG_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
58 self.assertEqual(ts.T_LONGLONG, LLONG_MAX) |
|
60206
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
59 ts.T_LONGLONG = LLONG_MIN |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
60 self.assertEqual(ts.T_LONGLONG, LLONG_MIN) |
|
42009
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
61 |
|
60206
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
62 ts.T_ULONGLONG = ULLONG_MAX |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
63 self.assertEqual(ts.T_ULONGLONG, ULLONG_MAX) |
|
42009
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
64 |
|
60206
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
65 ## make sure these will accept a plain int as well as a long |
|
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
66 ts.T_LONGLONG = 3 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
67 self.assertEqual(ts.T_LONGLONG, 3) |
|
60206
d334a7a56844
split out large test function
Benjamin Peterson <benjamin@python.org>
parents:
59669
diff
changeset
|
68 ts.T_ULONGLONG = 4 |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
69 self.assertEqual(ts.T_ULONGLONG, 4) |
|
42009
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
70 |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
71 def test_inplace_string(self): |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
60225
diff
changeset
|
72 self.assertEqual(ts.T_STRING_INPLACE, "hi") |
|
60210
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
73 self.assertRaises(TypeError, setattr, ts, "T_STRING_INPLACE", "s") |
|
66b60a6e8198
Merged revisions 79642,79644 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
49146
diff
changeset
|
74 self.assertRaises(TypeError, delattr, ts, "T_STRING_INPLACE") |
|
42007
e8413971212d
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
41375
diff
changeset
|
75 |
|
e8413971212d
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
41375
diff
changeset
|
76 |
|
41375
cb6cce4d4232
Implement a contextmanager test.test_support.catch_warning that can
Walter Dörwald <walter@livinglogic.de>
parents:
41371
diff
changeset
|
77 class TestWarnings(unittest.TestCase): |
|
40284
ff678669aa6e
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
40176
diff
changeset
|
78 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
79 def test_byte_max(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
80 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 81 ts.T_BYTE = CHAR_MAX+1 |
|
40284
ff678669aa6e
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
40176
diff
changeset
|
82 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
83 def test_byte_min(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
84 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 85 ts.T_BYTE = CHAR_MIN-1 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
86 |
|
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
87 def test_ubyte_max(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
88 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 89 ts.T_UBYTE = UCHAR_MAX+1 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
90 |
|
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
91 def test_short_max(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
92 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 93 ts.T_SHORT = SHRT_MAX+1 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
94 |
|
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
95 def test_short_min(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
96 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 97 ts.T_SHORT = SHRT_MIN-1 |
|
40176
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
98 |
|
0c1cb92dac97
Patch #1549049: Rewrite type conversion in structmember.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff
changeset
|
99 def test_ushort_max(self): |
|
59669
7df3e13d3e50
Cleanup some test cases using check_warnings and check_py3k_warnings.
Florent Xicluna <florent.xicluna@gmail.com>
parents:
58817
diff
changeset
|
100 with test_support.check_warnings(('', RuntimeWarning)): |
| 44864 | 101 ts.T_USHORT = USHRT_MAX+1 |
|
42009
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
102 |
|
7c9225da5f61
Patch #1733960: Allow T_LONGLONG to accept ints.
Martin v. Löwis <martin@v.loewis.de>
parents:
40177
diff
changeset
|
103 |
| 40177 | 104 def test_main(verbose=None): |
|
42795
cf2b37b90c66
Make test_structmembers pass when run with regrtests's -R flag.
Collin Winter <collinw@gmail.com>
parents:
42007
diff
changeset
|
105 test_support.run_unittest(__name__) |
| 40177 | 106 |
| 107 if __name__ == "__main__": | |
| 108 test_main(verbose=True) |
