Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / lib / python2.4 / test / test_opcodes.py
CommitLineData
920dae64
AT
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
61try: raise BClass, a
62except TypeError: pass
63
64try: raise DClass, a
65except DClass, v:
66 if not isinstance(v, DClass):
67 raise TestFailed, "v not DClass"
68
69print '2.3 comparing function objects'
70
71f = eval('lambda: None')
72g = eval('lambda: None')
73if f == g: raise TestFailed, "functions should not be same"
74
75f = eval('lambda a: a')
76g = eval('lambda a: a')
77if f == g: raise TestFailed, "functions should not be same"
78
79f = eval('lambda a=1: a')
80g = eval('lambda a=1: a')
81if f == g: raise TestFailed, "functions should not be same"
82
83f = eval('lambda: 0')
84g = eval('lambda: 1')
85if f == g: raise TestFailed
86
87f = eval('lambda: None')
88g = eval('lambda a: None')
89if f == g: raise TestFailed
90
91f = eval('lambda a: None')
92g = eval('lambda b: None')
93if f == g: raise TestFailed
94
95f = eval('lambda a: None')
96g = eval('lambda a=None: None')
97if f == g: raise TestFailed
98
99f = eval('lambda a=0: None')
100g = eval('lambda a=1: None')
101if f == g: raise TestFailed