mirror of https://github.com/swig/swig
67 lines
865 B
Go
67 lines
865 B
Go
package main
|
|
|
|
import "strings"
|
|
import "swigtests/threads_exception"
|
|
|
|
func main() {
|
|
t := threads_exception.NewTest()
|
|
|
|
error := true
|
|
func() {
|
|
defer func() {
|
|
error = recover() == nil
|
|
}()
|
|
t.Unknown()
|
|
}()
|
|
if error {
|
|
panic(0)
|
|
}
|
|
|
|
error = true
|
|
func() {
|
|
defer func() {
|
|
error = strings.Index(recover().(string), "int exception") == -1
|
|
}()
|
|
t.Simple()
|
|
}()
|
|
if error {
|
|
panic(0)
|
|
}
|
|
|
|
error = true
|
|
func() {
|
|
defer func() {
|
|
error = recover().(string) != "I died."
|
|
}()
|
|
t.Message()
|
|
}()
|
|
if error {
|
|
panic(0)
|
|
}
|
|
|
|
error = true
|
|
func() {
|
|
defer func() {
|
|
e := recover().(string)
|
|
error = strings.Index(e, "Exc exception") == -1
|
|
}()
|
|
t.Hosed()
|
|
}()
|
|
if error {
|
|
panic(0)
|
|
}
|
|
|
|
for i := 1; i < 4; i++ {
|
|
error = true
|
|
func() {
|
|
defer func() {
|
|
error = recover() == nil
|
|
}()
|
|
t.Multi(i)
|
|
}()
|
|
if error {
|
|
panic(0)
|
|
}
|
|
}
|
|
}
|