(t *testing.T)
| 20 | } |
| 21 | |
| 22 | func TestModule(t *testing.T) { |
| 23 | |
| 24 | for _, c := range g_moduleCases { |
| 25 | code, err := Compile(c.exp, "", FileInput) |
| 26 | if err != nil { |
| 27 | t.Fatal("Compile failed:", err) |
| 28 | } |
| 29 | defer code.Decref() |
| 30 | |
| 31 | mod, err := ExecCodeModule(c.name, code.Obj()) |
| 32 | if err != nil { |
| 33 | t.Fatal("ExecCodeModule failed:", err) |
| 34 | } |
| 35 | defer mod.Decref() |
| 36 | |
| 37 | arg1 := NewString("_stage") |
| 38 | defer arg1.Decref() |
| 39 | |
| 40 | ret, err := mod.CallMethodObjArgs("init", arg1.Obj()) |
| 41 | if err != nil { |
| 42 | t.Fatal("CallMethodObjArgs failed:", err) |
| 43 | } |
| 44 | defer ret.Decref() |
| 45 | |
| 46 | if ret.String() != c.ret { |
| 47 | t.Fatal("CallMethodObjArgs ret:", ret.String(), c.ret) |
| 48 | } |
| 49 | |
| 50 | globals, _ := mod.GetAttrString("tbl") |
| 51 | defer globals.Decref() |
| 52 | |
| 53 | if globals.String() != c.globals { |
| 54 | t.Fatal("mod.GetAttrString('tbl') ret:", globals.String(), c.globals) |
| 55 | } |
| 56 | |
| 57 | dict := mod.Dict() // don't need Decref |
| 58 | tbl2 := dict.GetItemString("tbl") // don't need Decref |
| 59 | if tbl2.String() != c.globals { |
| 60 | t.Fatal("mod.Dict.GetItemString('tbl') ret:", tbl2.String(), c.globals) |
| 61 | } |
| 62 | } |
| 63 | } |
| 64 |
nothing calls this directly
no test coverage detected
searching dependent graphs…