aboutsummaryrefslogtreecommitdiff
path: root/unit_tests/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'unit_tests/scripts')
-rw-r--r--unit_tests/scripts/misc/verbose_errors.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/unit_tests/scripts/misc/verbose_errors.lua b/unit_tests/scripts/misc/verbose_errors.lua
index b38bf4c..8127980 100644
--- a/unit_tests/scripts/misc/verbose_errors.lua
+++ b/unit_tests/scripts/misc/verbose_errors.lua
@@ -21,9 +21,13 @@ local do_test = function(key_)
21 local x, y = string.find(e, "arg#2.subtable[" .. key_ .. "].ud", 1, true) 21 local x, y = string.find(e, "arg#2.subtable[" .. key_ .. "].ud", 1, true)
22 assert(x and y, "got " .. e) 22 assert(x and y, "got " .. e)
23 elseif t_key == "userdata" then 23 elseif t_key == "userdata" then
24 local t_name 24 -- light userdata results in "userdata: <some uppercase hex value>"
25 local stringified_key = tostring(key_)
26 local hex = string.match(stringified_key, "userdata: (%x+)")
27 -- full userdata results in something else
28 local t_name = hex and ("0x" .. string.lower(hex)) or "<FULL>"
25 -- light userdata is formatted by std::format, where the pointer is written as a lowercase hex literal 29 -- light userdata is formatted by std::format, where the pointer is written as a lowercase hex literal
26 local expected = "arg#2.subtable[U:0x" .. string.lower(string.match(tostring(key_), "userdata: (%x+)")) .. "].ud" 30 local expected = "arg#2.subtable[U:" .. t_name .. "].ud"
27 -- expecting an error about arg#2.subtable[U:0x<some hex value>].ud 31 -- expecting an error about arg#2.subtable[U:0x<some hex value>].ud
28 local x, y = string.find(e, expected, 1, true) 32 local x, y = string.find(e, expected, 1, true)
29 assert(x and y, "expecting " .. expected .. " got " .. e) 33 assert(x and y, "expecting " .. expected .. " got " .. e)
@@ -36,3 +40,4 @@ do_test(false)
36do_test(42) 40do_test(42)
37do_test(42.44) 41do_test(42.44)
38do_test(lanes.null) 42do_test(lanes.null)
43do_test(l)