From 78ec7981c8e931fe72998b0cbe144304d6506803 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 1 Sep 2019 15:51:02 -0700 Subject: screen.lua: dump payload on handler failure For debugging failures like: test/functional/helpers.lua:240: test/functional/ui/screen.lua:898: bad argument #1 to 'unpack' (table expected, got number) test/functional/helpers.lua:240: test/functional/ui/screen.lua:708: attempt to index local 'item' (a number value) ref #10804 --- test/functional/ui/screen.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test/functional/ui/screen.lua') diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 02be714e0d..0e3b903398 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -615,7 +615,12 @@ function Screen:_redraw(updates) local handler_name = '_handle_'..method local handler = self[handler_name] if handler ~= nil then - handler(self, unpack(update[i])) + local status, res = pcall(handler, self, unpack(update[i])) + if not status then + error(handler_name..' failed' + ..'\n payload: '..inspect(update) + ..'\n error: '..tostring(res)) + end else assert(self._on_event, "Add Screen:"..handler_name.." or call Screen:set_on_event_handler") -- cgit