aboutsummaryrefslogtreecommitdiff
path: root/unit_tests
diff options
context:
space:
mode:
authorBenoit Germain <benoit.germain@ubisoft.com>2025-10-30 10:02:27 +0100
committerBenoit Germain <benoit.germain@ubisoft.com>2025-10-30 10:02:27 +0100
commitdfb4a035c2d80a6be689e14ca495b8ba032f58c4 (patch)
tree2686a6f2e8ecefc912e44089e22167d2a7428c28 /unit_tests
parent9c768185696879c6642c1f26c86884eaf727fe27 (diff)
downloadlanes-dfb4a035c2d80a6be689e14ca495b8ba032f58c4.tar.gz
lanes-dfb4a035c2d80a6be689e14ca495b8ba032f58c4.tar.bz2
lanes-dfb4a035c2d80a6be689e14ca495b8ba032f58c4.zip
Test full userdata keys with verbose_errors
Diffstat (limited to 'unit_tests')
-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)