MCPcopy Create free account
hub / github.com/goplus/py / TestModule

Function TestModule

module_test.go:22–63  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

20}
21
22func 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

Callers

nothing calls this directly

Calls 10

CompileFunction · 0.85
ExecCodeModuleFunction · 0.85
NewStringFunction · 0.85
DecrefMethod · 0.80
ObjMethod · 0.80
CallMethodObjArgsMethod · 0.80
GetAttrStringMethod · 0.80
DictMethod · 0.80
GetItemStringMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…