source: trunk/essentials/dev-lang/python/Lib/test/test_opcodes.py@ 3226

Last change on this file since 3226 was 3225, checked in by bird, 19 years ago

Python 2.5

File size: 1.9 KB
Line 
1# Python test set -- part 2, opcodes
2
3from test.test_support import TestFailed
4
5
6print '2. Opcodes'
7print 'XXX Not yet fully implemented'
8
9print '2.1 try inside for loop'
10n = 0
11for 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
22if n != 90:
23 raise TestFailed, 'try inside for'
24
25
26print '2.2 raise class exceptions'
27
28class AClass: pass
29class BClass(AClass): pass
30class CClass: pass
31class DClass(AClass):
32 def __init__(self, ignore):
33 pass
34
35try: raise AClass()
36except: pass
37
38try: raise AClass()
39except AClass: pass
40
41try: raise BClass()
42except AClass: pass
43
44try: raise BClass()
45except CClass: raise TestFailed
46except: pass
47
48a = AClass()
49b = BClass()
50
51try: raise AClass, b
52except BClass, v:
53 if v != b: raise TestFailed, "v!=b"
54else: raise TestFailed, "no exception"
55
56try: raise b
57except AClass, v:
58 if v != b: raise TestFailed, "v!=b AClass"
59
60# not enough arguments