mirror of https://github.com/swig/swig
41 lines
900 B
Python
41 lines
900 B
Python
import threads_exception
|
|
|
|
t = threads_exception.Test()
|
|
try:
|
|
t.unknown()
|
|
except RuntimeError as e:
|
|
pass
|
|
|
|
try:
|
|
t.simple()
|
|
except RuntimeError as e:
|
|
if e.args[0] != 37:
|
|
raise RuntimeError
|
|
|
|
try:
|
|
t.message()
|
|
except RuntimeError as 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 as 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 as e:
|
|
pass
|
|
except threads_exception.Exc as e:
|
|
pass
|