Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test___future__.py @ 58925:eecf1bef052d 2.6
Merged revisions 78207 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line
#7930: fix stripid
........
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Tue, 16 Feb 2010 23:29:44 +0000 |
| parents | ff678669aa6e |
| children | 6768b2350c57 |
| rev | line source |
|---|---|
|
16770
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
2 import unittest |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
3 from test import test_support |
|
16770
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
4 import __future__ |
|
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
5 |
|
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
6 GOOD_SERIALS = ("alpha", "beta", "candidate", "final") |
|
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
7 |
|
19345
38be177bd493
A self-contained piece of Michael Hudson's patch
Tim Peters <tim.peters@gmail.com>
parents:
16929
diff
changeset
|
8 features = __future__.all_feature_names |
|
19371
2bf2690966ff
Expose the CO_xxx flags via the "new" module (re-solving a problem "the
Tim Peters <tim.peters@gmail.com>
parents:
19345
diff
changeset
|
9 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
10 class FutureTest(unittest.TestCase): |
|
19371
2bf2690966ff
Expose the CO_xxx flags via the "new" module (re-solving a problem "the
Tim Peters <tim.peters@gmail.com>
parents:
19345
diff
changeset
|
11 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
12 def test_names(self): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
13 # Verify that all_feature_names appears correct. |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
14 given_feature_names = features[:] |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
15 for name in dir(__future__): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
16 obj = getattr(__future__, name, None) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
17 if obj is not None and isinstance(obj, __future__._Feature): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
18 self.assert_( |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
19 name in given_feature_names, |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
20 "%r should have been in all_feature_names" % name |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
21 ) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
22 given_feature_names.remove(name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
23 self.assertEqual(len(given_feature_names), 0, |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
24 "all_feature_names has too much: %r" % given_feature_names) |
|
16770
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
25 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
26 def test_attributes(self): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
27 for feature in features: |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
28 value = getattr(__future__, feature) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
29 |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
30 optional = value.getOptionalRelease() |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
31 mandatory = value.getMandatoryRelease() |
|
16770
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
32 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
33 a = self.assert_ |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
34 e = self.assertEqual |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
35 def check(t, name): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
36 a(isinstance(t, tuple), "%s isn't tuple" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
37 e(len(t), 5, "%s isn't 5-tuple" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
38 (major, minor, micro, level, serial) = t |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
39 a(isinstance(major, int), "%s major isn't int" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
40 a(isinstance(minor, int), "%s minor isn't int" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
41 a(isinstance(micro, int), "%s micro isn't int" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
42 a(isinstance(level, basestring), |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
43 "%s level isn't string" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
44 a(level in GOOD_SERIALS, |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
45 "%s level string has unknown value" % name) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
46 a(isinstance(serial, int), "%s serial isn't int" % name) |
|
16770
14affbd03750
Add __future__.py to std library, + dull test to verify that assignments
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
47 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
48 check(optional, "optional") |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
49 if mandatory is not None: |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
50 check(mandatory, "mandatory") |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
51 a(optional < mandatory, |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
52 "optional not less than mandatory, and mandatory not None") |
|
40284
ff678669aa6e
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
40158
diff
changeset
|
53 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
54 a(hasattr(value, "compiler_flag"), |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
55 "feature is missing a .compiler_flag attr") |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
56 a(isinstance(getattr(value, "compiler_flag"), int), |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
57 ".compiler_flag isn't int") |
|
19345
38be177bd493
A self-contained piece of Michael Hudson's patch
Tim Peters <tim.peters@gmail.com>
parents:
16929
diff
changeset
|
58 |
|
40158
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
59 def test_main(): |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
60 test_support.run_unittest(FutureTest) |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
61 |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
62 if __name__ == "__main__": |
|
826e8674a11d
Port test___future__ to unittest.
Walter Dörwald <walter@livinglogic.de>
parents:
26140
diff
changeset
|
63 test_main() |
