swig/Examples/test-suite/lua/exception_memory_leak_runme...

22 lines
705 B
Lua

eml=require("exception_memory_leak")
catch_undef_globs() -- catch "undefined" global variables
a = eml.Foo()
assert(eml.Foo_get_count() == 1)
b = eml.Foo()
assert(eml.Foo_get_count() == 2)
-- Normal behaviour
eml.trigger_internal_swig_exception("no problem", a)
assert(eml.Foo_get_count() == 2)
assert(eml.Foo_get_freearg_count() == 1)
-- SWIG exception triggered and handled (return new object case)
assert(not pcall(eml.trigger_internal_swig_exception, "null", b))
assert(eml.Foo_get_count() == 2)
assert(eml.Foo_get_freearg_count() == 2)
-- SWIG exception triggered and handled (return by value case).
assert(not pcall(eml.trigger_internal_swig_exception, "null"))
assert(eml.Foo_get_count() == 2)