Exceptions raised during renaming in rotating file handlers are now passed to handleE...
[python.git] / Lib / test / test_opcodes.py
blobc1929637ac093a6578af0b6a281697dffec33efe
1 # Python test set -- part 2, opcodes
3 from test.test_support import TestFailed
6 print '2. Opcodes'
7 print 'XXX Not yet fully implemented'
9 print '2.1 try inside for loop'
10 n = 0
11 for i in range(10):
12 n = n+i
13 try: 1/0
14 except NameError: pass
15 except ZeroDivisionError: pass
16 except TypeError: pass
17 try: pass
18 except: pass
19 try: pass
20 finally: pass
21 n = n+i
22 if n != 90:
23 raise TestFailed, 'try inside for'
26 print '2.2 raise class exceptions'
28 class AClass: pass
29 class BClass(AClass): pass
30 class CClass: pass
31 class DClass(AClass):
32 def __init__(self, ignore):
33 pass
35 try: raise AClass()
36 except: pass
38 try: raise AClass()
39 except AClass: pass
41 try: raise BClass()
42 except AClass: pass
44 try: raise BClass()
45 except CClass: raise TestFailed
46 except: pass
48 a = AClass()
49 b = BClass()
51 try: raise AClass, b
52 except BClass, v:
53 if v != b: raise TestFailed, "v!=b"
54 else: raise TestFailed, "no exception"
56 try: raise b
57 except AClass, v:
58 if v != b: raise TestFailed, "v!=b AClass"
60 # not enough arguments
61 try: raise BClass, a
62 except TypeError: pass
64 try: raise DClass, a
65 except DClass, v:
66 if not isinstance(v, DClass):
67 raise TestFailed, "v not DClass"
69 print '2.3 comparing function objects'
71 f = eval('lambda: None')
72 g = eval('lambda: None')
73 if f == g: raise TestFailed, "functions should not be same"
75 f = eval('lambda a: a')
76 g = eval('lambda a: a')
77 if f == g: raise TestFailed, "functions should not be same"
79 f = eval('lambda a=1: a')
80 g = eval('lambda a=1: a')
81 if f == g: raise TestFailed, "functions should not be same"
83 f = eval('lambda: 0')
84 g = eval('lambda: 1')
85 if f == g: raise TestFailed
87 f = eval('lambda: None')
88 g = eval('lambda a: None')
89 if f == g: raise TestFailed
91 f = eval('lambda a: None')
92 g = eval('lambda b: None')
93 if f == g: raise TestFailed
95 f = eval('lambda a: None')
96 g = eval('lambda a=None: None')
97 if f == g: raise TestFailed
99 f = eval('lambda a=0: None')
100 g = eval('lambda a=1: None')
101 if f == g: raise TestFailed