aboutsummaryrefslogtreecommitdiff
path: root/spec/util_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/util_spec.lua')
-rw-r--r--spec/util_spec.lua59
1 files changed, 39 insertions, 20 deletions
diff --git a/spec/util_spec.lua b/spec/util_spec.lua
index 23e3ebd8..e6776e4b 100644
--- a/spec/util_spec.lua
+++ b/spec/util_spec.lua
@@ -27,7 +27,7 @@ describe("Basic tests #blackbox #b_util", function()
27 assert.is_false(run.luarocks_bool("invalid=5")) 27 assert.is_false(run.luarocks_bool("invalid=5"))
28 end) 28 end)
29 29
30 it("LuaRocks execute from not existing directory", function() 30 it("LuaRocks execute from not existing directory #unix", function()
31 local main_path = lfs.currentdir() 31 local main_path = lfs.currentdir()
32 assert.is_true(lfs.mkdir("idontexist")) 32 assert.is_true(lfs.mkdir("idontexist"))
33 assert.is_true(lfs.chdir("idontexist")) 33 assert.is_true(lfs.chdir("idontexist"))
@@ -66,34 +66,53 @@ describe("Basic tests #blackbox #b_util", function()
66 assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua")) 66 assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua"))
67 end) 67 end)
68 68
69 describe("LuaRocks sysconfig fails", function() 69 -- Disable versioned config temporarily, because it always takes
70 local scdir = "" 70 -- precedence over config.lua (config-5.x.lua is installed by default on Windows,
71 71 -- but not on Unix, so on Unix the os.rename commands below will fail silently, but this is harmless)
72 before_each(function() 72 describe("LuaRocks config - more complex tests", function()
73 scdir = testing_paths.testing_lrprefix .. "/etc/luarocks/" 73 local scdir = testing_paths.testing_lrprefix .. "/etc/luarocks"
74 local versioned_scname = scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua"
75 local scname = scdir .. "/config.lua"
76
77 local configfile
78 if test_env.TEST_TARGET_OS == "windows" then
79 configfile = versioned_scname
80 else
81 configfile = scname
82 end
83
84 it("LuaRocks fail system config", function()
85 os.rename(versioned_scname, versioned_scname .. "bak")
86 local ok = run.luarocks_bool("config --system-config")
87 os.rename(versioned_scname .. ".bak", versioned_scname)
88 assert.is_false(ok)
89 end)
90
91 it("LuaRocks system config", function()
74 lfs.mkdir(testing_paths.testing_lrprefix) 92 lfs.mkdir(testing_paths.testing_lrprefix)
75 lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") 93 lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/")
76 lfs.mkdir(scdir) 94 lfs.mkdir(scdir)
77 end)
78
79 after_each(function()
80 test_env.remove_dir(testing_paths.testing_lrprefix)
81 end)
82 95
83 it("LuaRocks sysconfig fail", function() 96 local sysconfig = io.open(configfile, "w+")
84 local sysconfig = io.open(scdir .. "/config.lua", "w+") 97 sysconfig:write(" ")
85 sysconfig:write("aoeui")
86 sysconfig:close() 98 sysconfig:close()
87 99
88 assert.is_false(run.luarocks_bool("list")) 100 local output = run.luarocks("config --system-config")
101 os.remove(configfile)
102 assert.are.same(output, configfile)
89 end) 103 end)
90 104
91 it("LuaRocks sysconfig fail", function() 105 it("LuaRocks fail system config invalid", function()
92 local sysconfig = io.open(scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua", "w+") 106 lfs.mkdir(testing_paths.testing_lrprefix)
93 sysconfig:write("aoeui") 107 lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/")
94 sysconfig:close() 108 lfs.mkdir(scdir)
95 109
96 assert.is_false(run.luarocks_bool("list")) 110 local sysconfig = io.open(configfile, "w+")
111 sysconfig:write("if if if")
112 sysconfig:close()
113 local ok = run.luarocks_bool("config --system-config")
114 os.remove(configfile)
115 assert.is_false(ok)
97 end) 116 end)
98 end) 117 end)
99end) 118end)