aboutsummaryrefslogtreecommitdiff
path: root/spec/install_spec.lua
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2022-04-11 19:16:10 -0300
committerHisham Muhammad <hisham@gobolinux.org>2022-04-12 13:19:12 -0300
commit238ba6b21cfcb1af56f1e70dd50de201fc3482a7 (patch)
treec948b6d3e12e3a518a69d0c844e016c590b31825 /spec/install_spec.lua
parentdf8a3cd3c957db337bfc3ab4d404c33066a24923 (diff)
downloadluarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.tar.gz
luarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.tar.bz2
luarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.zip
tests: avoid repeated hardcoded package version numbers all over
Diffstat (limited to 'spec/install_spec.lua')
-rw-r--r--spec/install_spec.lua61
1 files changed, 33 insertions, 28 deletions
diff --git a/spec/install_spec.lua b/spec/install_spec.lua
index ea6e1d3f..24dbdb30 100644
--- a/spec/install_spec.lua
+++ b/spec/install_spec.lua
@@ -5,23 +5,24 @@ local testing_paths = test_env.testing_paths
5local env_variables = test_env.env_variables 5local env_variables = test_env.env_variables
6local write_file = test_env.write_file 6local write_file = test_env.write_file
7local git_repo = require("spec.util.git_repo") 7local git_repo = require("spec.util.git_repo")
8local V = test_env.V
8 9
9test_env.unload_luarocks() 10test_env.unload_luarocks()
10 11
11local extra_rocks = { 12local extra_rocks = {
12 "/cprint-0.1-2.src.rock", 13 "/cprint-0.1-2.src.rock",
13 "/cprint-0.1-2.rockspec", 14 "/cprint-0.1-2.rockspec",
14 "/lpeg-0.12-1.src.rock", 15 "/lpeg-${LPEG}.src.rock",
15 "/luassert-1.7.0-1.src.rock", 16 "/luassert-1.7.0-1.src.rock",
16 "/luasocket-3.0rc1-2.src.rock", 17 "/luasocket-${LUASOCKET}.src.rock",
17 "/luasocket-3.0rc1-2.rockspec", 18 "/luasocket-${LUASOCKET}.rockspec",
18 "/lxsh-0.8.6-2.src.rock", 19 "/lxsh-${LXSH}.src.rock",
19 "/lxsh-0.8.6-2.rockspec", 20 "/lxsh-${LXSH}.rockspec",
20 "/say-1.2-1.src.rock", 21 "/say-1.2-1.src.rock",
21 "/say-1.0-1.src.rock", 22 "/say-1.0-1.src.rock",
22 "/wsapi-1.6-1.src.rock", 23 "/wsapi-1.6-1.src.rock",
23 "/luafilesystem-1.6.3-2.src.rock", 24 "/luafilesystem-${LUAFILESYSTEM}.src.rock",
24 "/luafilesystem-1.6.3-1.src.rock", 25 "/luafilesystem-${LUAFILESYSTEM_OLD}.src.rock",
25 "spec/fixtures/a_repo/has_build_dep-1.0-1.all.rock", 26 "spec/fixtures/a_repo/has_build_dep-1.0-1.all.rock",
26 "spec/fixtures/a_repo/a_build_dep-1.0-1.all.rock", 27 "spec/fixtures/a_repo/a_build_dep-1.0-1.all.rock",
27 "spec/fixtures/a_repo/a_rock-1.0-1.src.rock", 28 "spec/fixtures/a_repo/a_rock-1.0-1.src.rock",
@@ -78,7 +79,7 @@ describe("luarocks install #integration", function()
78 end) 79 end)
79 80
80 it("only-deps of lxsh show there is no lxsh", function() 81 it("only-deps of lxsh show there is no lxsh", function()
81 assert.is_true(run.luarocks_bool("install lxsh 0.8.6-2 --only-deps")) 82 assert.is_true(run.luarocks_bool("install lxsh ${LXSH} --only-deps"))
82 assert.is_false(run.luarocks_bool("show lxsh")) 83 assert.is_false(run.luarocks_bool("show lxsh"))
83 end) 84 end)
84 85
@@ -170,16 +171,20 @@ describe("luarocks install #integration", function()
170 end) 171 end)
171 172
172 it('handle versioned modules when installing another version with --keep #268', function() 173 it('handle versioned modules when installing another version with --keep #268', function()
174 local libdir = testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION
175
173 assert.is_true(run.luarocks_bool("install luafilesystem")) 176 assert.is_true(run.luarocks_bool("install luafilesystem"))
174 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) 177 assert.is.truthy(lfs.attributes(libdir .."/lfs."..test_env.lib_extension))
178
179 local suffix = (V"${LUAFILESYSTEM_OLD}"):gsub("[%.%-]", "_")
175 180
176 assert.is_true(run.luarocks_bool("install luafilesystem 1.6.3-1 --keep")) 181 assert.is_true(run.luarocks_bool("install luafilesystem ${LUAFILESYSTEM_OLD} --keep"))
177 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) 182 assert.is.truthy(lfs.attributes(libdir .. "/lfs."..test_env.lib_extension))
178 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/luafilesystem_1_6_3_1-lfs."..test_env.lib_extension)) 183 assert.is.truthy(lfs.attributes(libdir .. "/luafilesystem_"..suffix.."-lfs."..test_env.lib_extension))
179 184
180 assert.is_true(run.luarocks_bool("install luafilesystem")) 185 assert.is_true(run.luarocks_bool("install luafilesystem"))
181 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) 186 assert.is.truthy(lfs.attributes(libdir .. "/lfs."..test_env.lib_extension))
182 assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/luafilesystem_1_6_3_1-lfs."..test_env.lib_extension)) 187 assert.is.falsy(lfs.attributes(libdir .. "/luafilesystem_"..suffix.."-lfs."..test_env.lib_extension))
183 end) 188 end)
184 189
185 it('handle non-Lua files in build.install.lua when upgrading sailorproject/sailor#138', function() 190 it('handle non-Lua files in build.install.lua when upgrading sailorproject/sailor#138', function()
@@ -193,21 +198,21 @@ describe("luarocks install #integration", function()
193 end) 198 end)
194 199
195 it("only-deps of luasocket packed rock", function() 200 it("only-deps of luasocket packed rock", function()
196 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket 3.0rc1-2")) 201 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket ${LUASOCKET}"))
197 local output = run.luarocks("install --only-deps " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock") 202 local output = run.luarocks("install --only-deps " .. "luasocket-${LUASOCKET}." .. test_env.platform .. ".rock")
198 assert.match("Successfully installed dependencies for luasocket 3.0rc1-2", output, 1, true) 203 assert.match(V"Successfully installed dependencies for luasocket ${LUASOCKET}", output, 1, true)
199 assert.is_true(os.remove("luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 204 assert.is_true(os.remove("luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
200 end) 205 end)
201 206
202 it("reinstall", function() 207 it("reinstall", function()
203 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket 3.0rc1-2")) 208 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket ${LUASOCKET}"))
204 assert.is_true(run.luarocks_bool("install " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 209 assert.is_true(run.luarocks_bool("install " .. "luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
205 assert.is_true(run.luarocks_bool("install --deps-mode=none " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 210 assert.is_true(run.luarocks_bool("install --deps-mode=none " .. "luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
206 assert.is_true(os.remove("luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 211 assert.is_true(os.remove("luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
207 end) 212 end)
208 213
209 it("installation rolls back on failure", function() 214 it("installation rolls back on failure", function()
210 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket 3.0rc1-2")) 215 assert.is_true(run.luarocks_bool("build --pack-binary-rock luasocket ${LUASOCKET}"))
211 local luadir = testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION 216 local luadir = testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION
212 lfs.mkdir(luadir) 217 lfs.mkdir(luadir)
213 218
@@ -219,7 +224,7 @@ describe("luarocks install #integration", function()
219 fd:close() 224 fd:close()
220 225
221 -- try to install and fail 226 -- try to install and fail
222 assert.is_false(run.luarocks_bool("install " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 227 assert.is_false(run.luarocks_bool("install " .. "luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
223 228
224 -- file is still there 229 -- file is still there
225 assert.is.truthy(lfs.attributes(luadir .. "/socket")) 230 assert.is.truthy(lfs.attributes(luadir .. "/socket"))
@@ -230,13 +235,13 @@ describe("luarocks install #integration", function()
230 assert.is_true(os.remove(luadir .. "/socket")) 235 assert.is_true(os.remove(luadir .. "/socket"))
231 236
232 -- try again and succeed 237 -- try again and succeed
233 assert.is_true(run.luarocks_bool("install " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 238 assert.is_true(run.luarocks_bool("install " .. "luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
234 239
235 -- files installed successfully 240 -- files installed successfully
236 assert.is.truthy(lfs.attributes(luadir .. "/socket/ftp.lua")) 241 assert.is.truthy(lfs.attributes(luadir .. "/socket/ftp.lua"))
237 assert.is.truthy(lfs.attributes(luadir .. "/mime.lua")) 242 assert.is.truthy(lfs.attributes(luadir .. "/mime.lua"))
238 243
239 assert.is_true(os.remove("luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) 244 assert.is_true(os.remove("luasocket-${LUASOCKET}." .. test_env.platform .. ".rock"))
240 end) 245 end)
241 246
242 it("binary rock of cprint", function() 247 it("binary rock of cprint", function()
@@ -246,11 +251,11 @@ describe("luarocks install #integration", function()
246 end) 251 end)
247 252
248 it("accepts --no-manifest flag", function() 253 it("accepts --no-manifest flag", function()
249 assert.is_true(run.luarocks_bool("install lxsh 0.8.6-2")) 254 assert.is_true(run.luarocks_bool("install lxsh ${LXSH}"))
250 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/manifest")) 255 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/manifest"))
251 assert.is.truthy(os.remove(testing_paths.testing_sys_rocks .. "/manifest")) 256 assert.is.truthy(os.remove(testing_paths.testing_sys_rocks .. "/manifest"))
252 257
253 assert.is_true(run.luarocks_bool("install --no-manifest lxsh 0.8.6-2")) 258 assert.is_true(run.luarocks_bool("install --no-manifest lxsh ${LXSH}"))
254 assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/manifest")) 259 assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/manifest"))
255 end) 260 end)
256 end) 261 end)