summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/threads_exception_runme.py
blob: 6fe6947ec7e0f156186e5d9ef75c6f95c362b494 (plain)
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
import threads_exception

t = threads_exception.Test()
try:
  t.unknown()
except RuntimeError,e:
  pass

try:
  t.simple()
except RuntimeError,e:
  if e.args[0] != 37:
    raise RuntimeError

try:
  t.message()
except RuntimeError,e:
  if e.args[0] != "I died.":
    raise RuntimeError

# This is expected fail with -builtin option
# Throwing builtin classes as exceptions not supported
if not threads_exception.is_python_builtin():
  try:
    t.hosed()
  except threads_exception.Exc,e:
    code = e.code
    if code != 42:
      raise RuntimeError, "bad... code: %d" % code
    msg = e.msg
    if msg != "Hosed":
      raise RuntimeError, "bad... msg: '%s' len: %d" % (msg, len(msg))

for i in range(1,4):
  try:
    t.multi(i)
  except RuntimeError,e:
    pass
  except threads_exception.Exc,e:
    pass