aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/functional/helpers.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 848f1ef477..2472062d1e 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -618,6 +618,33 @@ local function alter_slashes(obj)
end
end
+local function hexdump(str)
+ local len = string.len( str )
+ local dump = ""
+ local hex = ""
+ local asc = ""
+
+ for i = 1, len do
+ if 1 == i % 8 then
+ dump = dump .. hex .. asc .. "\n"
+ hex = string.format( "%04x: ", i - 1 )
+ asc = ""
+ end
+
+ local ord = string.byte( str, i )
+ hex = hex .. string.format( "%02x ", ord )
+ if ord >= 32 and ord <= 126 then
+ asc = asc .. string.char( ord )
+ else
+ asc = asc .. "."
+ end
+ end
+
+ return dump .. hex
+ .. string.rep( " ", 8 - len % 8 ) .. asc
+
+end
+
local module = {
prepend_argv = prepend_argv,
clear = clear,
@@ -687,6 +714,7 @@ local module = {
get_pathsep = get_pathsep,
missing_provider = missing_provider,
alter_slashes = alter_slashes,
+ hexdump = hexdump,
}
return function(after_each)