Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | # Test various flavors of legal and illegal future statements |
2 | ||
3 | import unittest | |
4 | from test import test_support | |
5 | import re | |
6 | ||
7 | rx = re.compile('\((\S+).py, line (\d+)') | |
8 | ||
9 | def get_error_location(msg): | |
10 | mo = rx.search(str(msg)) | |
11 | return mo.group(1, 2) | |
12 | ||
13 | class FutureTest(unittest.TestCase): | |
14 | ||
15 | def test_future1(self): | |
16 | test_support.unload('test_future1') | |
17 | from test import test_future1 | |
18 | self.assertEqual(test_future1.result, 6) | |
19 | ||
20 | def test_future2(self): | |
21 | test_support.unload('test_future2') | |
22 | from test import test_future2 | |
23 | self.assertEqual(test_future2.result, 6) | |
24 | ||
25 | def test_future3(self): | |
26 | test_support.unload('test_future3') | |
27 | from test import test_future3 | |
28 | ||
29 | def test_badfuture3(self): | |
30 | try: | |
31 | from test import badsyntax_future3 | |
32 | except SyntaxError, msg: | |
33 | self.assertEqual(get_error_location(msg), ("badsyntax_future3", '3')) | |
34 | else: | |
35 | self.fail("expected exception didn't occur") | |
36 | ||
37 | def test_badfuture4(self): | |
38 | try: | |
39 | from test import badsyntax_future4 | |
40 | except SyntaxError, msg: | |
41 | self.assertEqual(get_error_location(msg), ("badsyntax_future4", '3')) | |
42 | else: | |
43 | self.fail("expected exception didn't occur") | |
44 | ||
45 | def test_badfuture5(self): | |
46 | try: | |
47 | from test import badsyntax_future5 | |
48 | except SyntaxError, msg: | |
49 | self.assertEqual(get_error_location(msg), ("badsyntax_future5", '4')) | |
50 | else: | |
51 | self.fail("expected exception didn't occur") | |
52 | ||
53 | def test_badfuture6(self): | |
54 | try: | |
55 | from test import badsyntax_future6 | |
56 | except SyntaxError, msg: | |
57 | self.assertEqual(get_error_location(msg), ("badsyntax_future6", '3')) | |
58 | else: | |
59 | self.fail("expected exception didn't occur") | |
60 | ||
61 | def test_badfuture7(self): | |
62 | try: | |
63 | from test import badsyntax_future7 | |
64 | except SyntaxError, msg: | |
65 | self.assertEqual(get_error_location(msg), ("badsyntax_future7", '3')) | |
66 | else: | |
67 | self.fail("expected exception didn't occur") | |
68 | ||
69 | def test_badfuture8(self): | |
70 | try: | |
71 | from test import badsyntax_future8 | |
72 | except SyntaxError, msg: | |
73 | self.assertEqual(get_error_location(msg), ("badsyntax_future8", '3')) | |
74 | else: | |
75 | self.fail("expected exception didn't occur") | |
76 | ||
77 | def test_badfuture9(self): | |
78 | try: | |
79 | from test import badsyntax_future9 | |
80 | except SyntaxError, msg: | |
81 | self.assertEqual(get_error_location(msg), ("badsyntax_future9", '3')) | |
82 | else: | |
83 | self.fail("expected exception didn't occur") | |
84 | ||
85 | def test_main(): | |
86 | test_support.run_unittest(FutureTest) | |
87 | ||
88 | if __name__ == "__main__": | |
89 | test_main() |