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