38 lines
767 B
Lua
38 lines
767 B
Lua
function readfile(name)
|
|
local f = io.open(name, "rb")
|
|
if not f then return nil end
|
|
local s = f:read("*a")
|
|
f:close()
|
|
return s
|
|
end
|
|
|
|
function similar(s1, s2)
|
|
return string.lower(string.gsub(s1 or "", "%s", "")) ==
|
|
string.lower(string.gsub(s2 or "", "%s", ""))
|
|
end
|
|
|
|
function fail(msg)
|
|
msg = msg or "failed"
|
|
error(msg, 2)
|
|
end
|
|
|
|
function compare(input, output)
|
|
local original = readfile(input)
|
|
local recovered = readfile(output)
|
|
if original ~= recovered then fail("comparison failed")
|
|
else print("ok") end
|
|
end
|
|
|
|
local G = _G
|
|
local set = rawset
|
|
local warn = print
|
|
|
|
local setglobal = function(table, key, value)
|
|
warn("changed " .. key)
|
|
set(table, key, value)
|
|
end
|
|
|
|
setmetatable(G, {
|
|
__newindex = setglobal
|
|
})
|