File: test_opcodes.py

package info (click to toggle)
python 1.5.1-7
  • links: PTS
  • area: main
  • in suites: slink
  • size: 11,616 kB
  • ctags: 32,701
  • sloc: ansic: 90,293; python: 74,171; makefile: 2,449; lisp: 2,097; sh: 702
file content (101 lines) | stat: -rw-r--r-- 1,871 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Python test set -- part 2, opcodes

from test_support import *


print '2. Opcodes'
print 'XXX Not yet fully implemented'

print '2.1 try inside for loop'
n = 0
for i in range(10):
        n = n+i
        try: 1/0
        except NameError: pass
        except ZeroDivisionError: pass
        except TypeError: pass
        try: pass
        except: pass
        try: pass
        finally: pass
        n = n+i
if n <> 90:
        raise TestFailed, 'try inside for'


print '2.2 raise class exceptions'

class AClass: pass
class BClass(AClass): pass
class CClass: pass
class DClass(AClass):
    def __init__(self, ignore):
        pass

try: raise AClass()
except: pass

try: raise AClass()
except AClass: pass

try: raise BClass()
except AClass: pass

try: raise BClass()
except CClass: raise TestFailed
except: pass

a = AClass()
b = BClass()

try: raise AClass, b
except BClass, v:
        if v != b: raise TestFailed
else: raise TestFailed

try: raise b
except AClass, v:
        if v != b: raise TestFailed

# not enough arguments
try:  raise BClass, a
except TypeError: pass

try:  raise DClass, a
except DClass, v:
    if not isinstance(v, DClass):
        raise TestFailed

print '2.3 comparing function objects'

f = eval('lambda: None')
g = eval('lambda: None')
if f != g: raise TestFailed

f = eval('lambda a: a')
g = eval('lambda a: a')
if f != g: raise TestFailed

f = eval('lambda a=1: a')
g = eval('lambda a=1: a')
if f != g: raise TestFailed

f = eval('lambda: 0')
g = eval('lambda: 1')
if f == g: raise TestFailed

f = eval('lambda: None')
g = eval('lambda a: None')
if f == g: raise TestFailed

f = eval('lambda a: None')
g = eval('lambda b: None')
if f == g: raise TestFailed

f = eval('lambda a: None')
g = eval('lambda a=None: None')
if f == g: raise TestFailed

f = eval('lambda a=0: None')
g = eval('lambda a=1: None')
if f == g: raise TestFailed