function test.overlappingGlobals() local globals = {} for name, _ in pairs(df.global) do local gvar = df.global:_field(name) local size, addr = gvar:sizeof() table.insert(globals, { name = name, first = addr, last = addr + size - 1 }) end table.sort(globals, function(a, b) return a.first < b.first end) for i = 2, #globals do local prev = globals[i - 1] local cur = globals[i] expect.true_(prev.last < cur.first, "global variable " .. prev.name .. " overlaps global variable " .. cur.name) end end function test.viewscreenDtors() for name, type in pairs(df) do if name:startswith('viewscreen') then print('testing', name) v = type:new() expect.true_(v:delete(), "destructor returned false: " .. name) end end end