diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2018-09-03 17:48:03 +0200 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2018-09-04 18:11:12 +0200 |
| commit | b8abb27f98e3c674bd3bca4944a53d10a1a2025d (patch) | |
| tree | d66cc0f63a0b82591e799a50fed2c99ecfd00863 | |
| parent | c2fde487834c6d7505d7e803256e8764237d4476 (diff) | |
| download | luarocks-b8abb27f98e3c674bd3bca4944a53d10a1a2025d.tar.gz luarocks-b8abb27f98e3c674bd3bca4944a53d10a1a2025d.tar.bz2 luarocks-b8abb27f98e3c674bd3bca4944a53d10a1a2025d.zip | |
Tests: add test cases for rocks with conflicting module names
This tests the behavior of upgrades and downgrades on rocks that deploy both
foo.lua and foo.so
| -rw-r--r-- | spec/fixtures/double_deploy_type/ddt.c | 6 | ||||
| -rw-r--r-- | spec/fixtures/double_deploy_type/ddt1.lua | 1 | ||||
| -rw-r--r-- | spec/fixtures/double_deploy_type/ddt2.lua | 1 | ||||
| -rw-r--r-- | spec/fixtures/double_deploy_type/ddt_file | 1 | ||||
| -rw-r--r-- | spec/fixtures/double_deploy_type/double_deploy_type-0.1.0-1.rockspec | 22 | ||||
| -rw-r--r-- | spec/fixtures/double_deploy_type/double_deploy_type-0.2.0-1.rockspec | 22 | ||||
| -rw-r--r-- | spec/make_spec.lua | 105 | ||||
| -rw-r--r-- | spec/remove_spec.lua | 2 |
8 files changed, 159 insertions, 1 deletions
diff --git a/spec/fixtures/double_deploy_type/ddt.c b/spec/fixtures/double_deploy_type/ddt.c new file mode 100644 index 00000000..f9050a4a --- /dev/null +++ b/spec/fixtures/double_deploy_type/ddt.c | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #include "lua.h" | ||
| 2 | |||
| 3 | int luaopen_ddt(lua_State *L) { | ||
| 4 | lua_pushstring(L, "ddt.c"); | ||
| 5 | return 1; | ||
| 6 | } | ||
diff --git a/spec/fixtures/double_deploy_type/ddt1.lua b/spec/fixtures/double_deploy_type/ddt1.lua new file mode 100644 index 00000000..ea1dafed --- /dev/null +++ b/spec/fixtures/double_deploy_type/ddt1.lua | |||
| @@ -0,0 +1 @@ | |||
| return "ddt1" | |||
diff --git a/spec/fixtures/double_deploy_type/ddt2.lua b/spec/fixtures/double_deploy_type/ddt2.lua new file mode 100644 index 00000000..b1fa5d78 --- /dev/null +++ b/spec/fixtures/double_deploy_type/ddt2.lua | |||
| @@ -0,0 +1 @@ | |||
| return "ddt2" | |||
diff --git a/spec/fixtures/double_deploy_type/ddt_file b/spec/fixtures/double_deploy_type/ddt_file new file mode 100644 index 00000000..988bbfb6 --- /dev/null +++ b/spec/fixtures/double_deploy_type/ddt_file | |||
| @@ -0,0 +1 @@ | |||
| return "ddt_file" | |||
diff --git a/spec/fixtures/double_deploy_type/double_deploy_type-0.1.0-1.rockspec b/spec/fixtures/double_deploy_type/double_deploy_type-0.1.0-1.rockspec new file mode 100644 index 00000000..ff13df03 --- /dev/null +++ b/spec/fixtures/double_deploy_type/double_deploy_type-0.1.0-1.rockspec | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | package = "double_deploy_type" | ||
| 2 | version = "0.1.0-1" | ||
| 3 | source = { | ||
| 4 | url = "http://example.com" | ||
| 5 | } | ||
| 6 | description = { | ||
| 7 | homepage = "http://example.com", | ||
| 8 | license = "*** please specify a license ***" | ||
| 9 | } | ||
| 10 | dependencies = {} | ||
| 11 | build = { | ||
| 12 | type = "builtin", | ||
| 13 | modules = { | ||
| 14 | ddt = "ddt/ddt.c" | ||
| 15 | }, | ||
| 16 | install = { | ||
| 17 | lua = { | ||
| 18 | ddt = "ddt/ddt1.lua", | ||
| 19 | ddt_file = "ddt/ddt_file", | ||
| 20 | } | ||
| 21 | } | ||
| 22 | } | ||
diff --git a/spec/fixtures/double_deploy_type/double_deploy_type-0.2.0-1.rockspec b/spec/fixtures/double_deploy_type/double_deploy_type-0.2.0-1.rockspec new file mode 100644 index 00000000..15f0c15c --- /dev/null +++ b/spec/fixtures/double_deploy_type/double_deploy_type-0.2.0-1.rockspec | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | package = "double_deploy_type" | ||
| 2 | version = "0.2.0-1" | ||
| 3 | source = { | ||
| 4 | url = "http://example.com" | ||
| 5 | } | ||
| 6 | description = { | ||
| 7 | homepage = "http://example.com", | ||
| 8 | license = "*** please specify a license ***" | ||
| 9 | } | ||
| 10 | dependencies = {} | ||
| 11 | build = { | ||
| 12 | type = "builtin", | ||
| 13 | modules = { | ||
| 14 | ddt = "ddt/ddt.c" | ||
| 15 | }, | ||
| 16 | install = { | ||
| 17 | lua = { | ||
| 18 | ddt = "ddt/ddt2.lua", | ||
| 19 | ddt_file = "ddt/ddt_file", | ||
| 20 | } | ||
| 21 | } | ||
| 22 | } | ||
diff --git a/spec/make_spec.lua b/spec/make_spec.lua index 6df0ab23..0fc5cd93 100644 --- a/spec/make_spec.lua +++ b/spec/make_spec.lua | |||
| @@ -109,6 +109,109 @@ describe("LuaRocks make tests #integration", function() | |||
| 109 | end) | 109 | end) |
| 110 | end) | 110 | end) |
| 111 | 111 | ||
| 112 | describe("#ddt LuaRocks make upgrading rockspecs with double deploy types", function() | ||
| 113 | local deploy_lib_dir = testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION | ||
| 114 | local deploy_lua_dir = testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION | ||
| 115 | local so = test_env.lib_extension | ||
| 116 | |||
| 117 | before_each(function() | ||
| 118 | test_env.copy_dir(testing_paths.fixtures_dir .. "/double_deploy_type", "ddt") | ||
| 119 | end) | ||
| 120 | |||
| 121 | after_each(function() | ||
| 122 | test_env.remove_dir("ddt") | ||
| 123 | os.remove("ddt."..test_env.lib_extension) | ||
| 124 | end) | ||
| 125 | |||
| 126 | it("when upgrading", function() | ||
| 127 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.1.0-1.rockspec")) | ||
| 128 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 129 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 130 | assert.same("ddt1", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 131 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 132 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 133 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 134 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 135 | |||
| 136 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.2.0-1.rockspec")) | ||
| 137 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 138 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 139 | assert.same("ddt2", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 140 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 141 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 142 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 143 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 144 | end) | ||
| 145 | |||
| 146 | it("modules with same name from lua/ and lib/ when upgrading with --keep", function() | ||
| 147 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.1.0-1.rockspec")) | ||
| 148 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 149 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 150 | assert.same("ddt1", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 151 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 152 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 153 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 154 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 155 | |||
| 156 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.2.0-1.rockspec --keep")) | ||
| 157 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 158 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 159 | assert.same("ddt2", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 160 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 161 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 162 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 163 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 164 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/double_deploy_type_0_1_0_1-ddt."..so)) | ||
| 165 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt.lua")) | ||
| 166 | assert.same("ddt1", loadfile(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt.lua")()) | ||
| 167 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt_file")) | ||
| 168 | end) | ||
| 169 | |||
| 170 | it("modules with same name from lua/ and lib/ when downgrading", function() | ||
| 171 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.2.0-1.rockspec")) | ||
| 172 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 173 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 174 | assert.same("ddt2", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 175 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 176 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 177 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 178 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 179 | |||
| 180 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.1.0-1.rockspec")) | ||
| 181 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 182 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 183 | assert.same("ddt1", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 184 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 185 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 186 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 187 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 188 | end) | ||
| 189 | |||
| 190 | it("modules with same name from lua/ and lib/ when downgrading with --keep", function() | ||
| 191 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.2.0-1.rockspec")) | ||
| 192 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 193 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 194 | assert.same("ddt2", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 195 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 196 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 197 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 198 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 199 | |||
| 200 | assert.is_true(run.luarocks_bool("make ddt/double_deploy_type-0.1.0-1.rockspec --keep")) | ||
| 201 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/ddt."..so)) | ||
| 202 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt.lua")) | ||
| 203 | assert.same("ddt2", loadfile(deploy_lua_dir.."/ddt.lua")()) | ||
| 204 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/ddt_file")) | ||
| 205 | assert.is.falsy(lfs.attributes(deploy_lib_dir.."/ddt."..so.."~")) | ||
| 206 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt.lua~")) | ||
| 207 | assert.is.falsy(lfs.attributes(deploy_lua_dir.."/ddt_file~")) | ||
| 208 | assert.is.truthy(lfs.attributes(deploy_lib_dir.."/double_deploy_type_0_1_0_1-ddt."..so)) | ||
| 209 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt.lua")) | ||
| 210 | assert.same("ddt1", loadfile(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt.lua")()) | ||
| 211 | assert.is.truthy(lfs.attributes(deploy_lua_dir.."/double_deploy_type_0_1_0_1-ddt_file")) | ||
| 212 | end) | ||
| 213 | end) | ||
| 214 | |||
| 112 | describe("LuaRocks make upgrading rockspecs with mixed deploy types", function() | 215 | describe("LuaRocks make upgrading rockspecs with mixed deploy types", function() |
| 113 | before_each(function() | 216 | before_each(function() |
| 114 | test_env.copy_dir(testing_paths.fixtures_dir .. "/mixed_deploy_type", "mdt") | 217 | test_env.copy_dir(testing_paths.fixtures_dir .. "/mixed_deploy_type", "mdt") |
| @@ -159,6 +262,8 @@ describe("LuaRocks make tests #integration", function() | |||
| 159 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/mixed_deploy_type_0_1_0_1-mdt_file")) | 262 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/mixed_deploy_type_0_1_0_1-mdt_file")) |
| 160 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mdt.lua")) | 263 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mdt.lua")) |
| 161 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mdt_file")) | 264 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mdt_file")) |
| 265 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mixed_deploy_type_0_1_0_1-mdt.lua")) | ||
| 266 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/share/lua/"..env_variables.LUA_VERSION.."/mixed_deploy_type_0_1_0_1-mdt_file")) | ||
| 162 | end) | 267 | end) |
| 163 | 268 | ||
| 164 | it("modules with same name from lua/ and lib/ when downgrading with --keep", function() | 269 | it("modules with same name from lua/ and lib/ when downgrading with --keep", function() |
diff --git a/spec/remove_spec.lua b/spec/remove_spec.lua index f43b55c6..cc9eb599 100644 --- a/spec/remove_spec.lua +++ b/spec/remove_spec.lua | |||
| @@ -6,7 +6,7 @@ local testing_paths = test_env.testing_paths | |||
| 6 | test_env.unload_luarocks() | 6 | test_env.unload_luarocks() |
| 7 | 7 | ||
| 8 | local extra_rocks = { | 8 | local extra_rocks = { |
| 9 | "/abelhas-1.1-1.rockspec", | 9 | "/abelhas-1.1-1.src.rock", |
| 10 | "/copas-2.0.1-1.src.rock", | 10 | "/copas-2.0.1-1.src.rock", |
| 11 | "/coxpcall-1.16.0-1.src.rock", | 11 | "/coxpcall-1.16.0-1.src.rock", |
| 12 | "/coxpcall-1.16.0-1.rockspec" | 12 | "/coxpcall-1.16.0-1.rockspec" |
