diff --git a/tests/mod/false.lua b/tests/mod/false.lua new file mode 100644 index 0000000..585a20e --- /dev/null +++ b/tests/mod/false.lua @@ -0,0 +1 @@ +return false diff --git a/tests/mod/nil.lua b/tests/mod/nil.lua new file mode 100644 index 0000000..15e53c4 --- /dev/null +++ b/tests/mod/nil.lua @@ -0,0 +1 @@ +return nil diff --git a/tests/mod/true.lua b/tests/mod/true.lua new file mode 100644 index 0000000..b30e187 --- /dev/null +++ b/tests/mod/true.lua @@ -0,0 +1 @@ +return true diff --git a/tests/modi/false.lua b/tests/modi/false.lua new file mode 100644 index 0000000..b29bdc5 --- /dev/null +++ b/tests/modi/false.lua @@ -0,0 +1,2 @@ +package.loaded[...]=... +return false diff --git a/tests/modi/nil.lua b/tests/modi/nil.lua new file mode 100644 index 0000000..7c6941b --- /dev/null +++ b/tests/modi/nil.lua @@ -0,0 +1,2 @@ +package.loaded[...]=... +return nil diff --git a/tests/modi/true.lua b/tests/modi/true.lua new file mode 100644 index 0000000..42c7879 --- /dev/null +++ b/tests/modi/true.lua @@ -0,0 +1,2 @@ +package.loaded[...]=... +return true diff --git a/tests/modnil/false.lua b/tests/modnil/false.lua new file mode 100644 index 0000000..92b53d0 --- /dev/null +++ b/tests/modnil/false.lua @@ -0,0 +1,2 @@ +package.loaded[...]=false +return nil diff --git a/tests/modnil/nil.lua b/tests/modnil/nil.lua new file mode 100644 index 0000000..a38a7e7 --- /dev/null +++ b/tests/modnil/nil.lua @@ -0,0 +1,2 @@ +package.loaded[...]=nil +return nil diff --git a/tests/modnil/true.lua b/tests/modnil/true.lua new file mode 100644 index 0000000..6bd9233 --- /dev/null +++ b/tests/modnil/true.lua @@ -0,0 +1,2 @@ +package.loaded[...]=true +return nil diff --git a/tests/results/lua51-lua52.diff.txt b/tests/results/lua51-lua52.diff.txt new file mode 100644 index 0000000..aa666a1 --- /dev/null +++ b/tests/results/lua51-lua52.diff.txt @@ -0,0 +1,30 @@ +--- lua51.txt 2015-10-02 21:20:24.111083425 +0200 ++++ lua52.txt 2015-10-02 21:20:28.406922550 +0200 +@@ -1,4 +1,4 @@ +-tested: [Lua 5.1] ++tested: [Lua 5.2] + + with require from _G + mod.true boolean true +@@ -9,7 +9,7 @@ + modi.nil string modi.nil + modnil.true boolean true + modnil.false boolean false +-modnil.nil nil nil ++modnil.nil boolean true + + with require from require.lua:require51 + mod.true boolean true +@@ -24,10 +24,10 @@ + + with require from require.lua:require52 + mod.true boolean true +-mod.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) ++mod.false boolean false + mod.nil boolean true + modi.true boolean true +-modi.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) ++modi.false boolean false + modi.nil string modi.nil + modnil.true boolean true + modnil.false boolean true diff --git a/tests/results/lua51.txt b/tests/results/lua51.txt new file mode 100644 index 0000000..d734770 --- /dev/null +++ b/tests/results/lua51.txt @@ -0,0 +1,34 @@ +tested: [Lua 5.1] + +with require from _G +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean false +modnil.nil nil nil + +with require from require.lua:require51 +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true + +with require from require.lua:require52 +mod.true boolean true +mod.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) +mod.nil boolean true +modi.true boolean true +modi.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true diff --git a/tests/results/lua52.txt b/tests/results/lua52.txt new file mode 100644 index 0000000..14cd8f1 --- /dev/null +++ b/tests/results/lua52.txt @@ -0,0 +1,34 @@ +tested: [Lua 5.2] + +with require from _G +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean false +modnil.nil boolean true + +with require from require.lua:require51 +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true + +with require from require.lua:require52 +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true diff --git a/tests/results/luajit203.txt b/tests/results/luajit203.txt new file mode 100644 index 0000000..ebd8cce --- /dev/null +++ b/tests/results/luajit203.txt @@ -0,0 +1,34 @@ +tested: [Lua 5.1] LuaJIT 2.0.3 Linux/x64 + +with require from _G +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean false +modnil.nil nil nil + +with require from require.lua:require51 +mod.true boolean true +mod.false boolean false +mod.nil boolean true +modi.true boolean true +modi.false boolean false +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true + +with require from require.lua:require52 +mod.true boolean true +mod.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) +mod.nil boolean true +modi.true boolean true +modi.false ERROR ./require.lua:77: bad argument #1 to 'ipairs' (table expected, got nil) +modi.nil string modi.nil +modnil.true boolean true +modnil.false boolean true +modnil.nil boolean true diff --git a/tests/tests.lua b/tests/tests.lua new file mode 100644 index 0000000..9b0cb1e --- /dev/null +++ b/tests/tests.lua @@ -0,0 +1,30 @@ +do + local package = require "package" + package.path = package.path .. ";../?.lua;../?/init.lua" +end + +local r = require"require" +local ok, jit = pcall(require, "jit") +if ok then + print( ("tested: [%s] %s %s/%s"):format( _VERSION or "", jit.version or "", jit.os or "", jit.arch or "") ) +else + print( ("tested: [%s]"):format(_VERSION) ) +end + +for _i0, try in ipairs{ {"_G", _G.require}, {"require.lua:require51", r.require51}, {"require.lua:require52", r.require52}} do + local k, require = try[1], try[2] + print("") + print("with require from "..k) + if not require then + print("ERROR") + else + for _i,dir in ipairs{"mod", "modi", "modnil"} do + for _i2, name in ipairs{"true", "false", "nil"} do + local modname = dir.."."..name + local ok, res = pcall(require, modname) + print(modname, ok and type(res) or "ERROR", res) + end + end + end +end +