aboutsummaryrefslogtreecommitdiff
path: root/test/testing.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/testing.lua483
1 files changed, 0 insertions, 483 deletions
diff --git a/test/testing.lua b/test/testing.lua
deleted file mode 100644
index 1a837484..00000000
--- a/test/testing.lua
+++ /dev/null
@@ -1,483 +0,0 @@
1
2local variables = {}
3
4-- Expand variables in the format $foo or ${foo} according
5-- to the variables table.
6local function expand_variables(str)
7 return str:gsub("%$({?)([A-Za-z0-9_]+)(}?)", function(o, v, c)
8 return #o <= #c and (variables[v] or "") .. (#o < #c and c or "")
9 end)
10end
11
12-- @param cmd command to run
13-- @param envtable optional table of temporary environment variables
14local function run(cmd, envtable)
15 cmd = expand_variables(cmd)
16 local env = {}
17 for var, val in pairs(envtable) do
18 table.insert(env, var.."='"..expand_variables(val).."' ")
19 end
20 local code = os.execute(table.concat(env)..cmd)
21 return (code == 0 or code == true)
22end
23
24local function cd_run(dir, cmd, envtable)
25 return run("cd "..dir.." && "..cmd, envtable)
26end
27
28local function run_get_contents(cmd)
29end
30
31local function mkdir(dirname)
32 cmd = expand_variables(dirname)
33 -- TODO
34end
35
36local function rm_rf(...)
37 -- TODO
38end
39
40local function mv(src, dst)
41 -- TODO
42end
43
44local function exists(filename)
45 filename = expand_variables(filename)
46 -- TODO
47end
48
49local function glob(patt)
50 -- TODO
51end
52
53local function touch(filename)
54 -- TODO
55end
56
57local function rm(...)
58 for _, filename in ipairs {...} do
59 filename = expand_variables(filename)
60 -- TODO
61 end
62 return true
63end
64
65local function file_set_contents(filename, contents)
66 filename = expand_variables(filename)
67
68 local fd, err = io.open(filename, "w")
69 if not fd then return nil, err end
70 fd:write(contents)
71 fd:close()
72 return true
73end
74
75local function need_luasocket()
76 -- TODO
77end
78
79local tests = {
80
81 test_version = function() return run "$luarocks --version" end,
82 fail_unknown_command = function() return run "$luarocks unknown_command" end,
83 fail_arg_boolean_parameter = function() return run "$luarocks --porcelain=invalid" end,
84 fail_arg_boolean_unknown = function() return run "$luarocks --invalid-flag" end,
85 fail_arg_string_no_parameter = function() return run "$luarocks --server" end,
86 fail_arg_string_followed_by_flag = function() return run "$luarocks --server --porcelain" end,
87 fail_arg_string_unknown = function() return run "$luarocks --invalid-flag=abc" end,
88 test_empty_list = function() return run "$luarocks list" end,
89 test_list_outdated = function () return run "$luarocks list --outdated" end,
90 fail_sysconfig_err = function()
91 mkdir "$testing_lrprefix/etc/luarocks"
92 file_set_contents("$testing_lrprefix/etc/luarocks/config.lua", "aoeui")
93 return run "$luarocks list"
94 and rm "$testing_lrprefix/etc/luarocks/config.lua"
95 end,
96 fail_sysconfig_default_err = function()
97 mkdir "$testing_lrprefix/etc/luarocks"
98 file_set_contents("$testing_lrprefix/etc/luarocks/config-$luashortversion.lua", "aoeui")
99 return run "$luarocks list"
100 and rm "$testing_lrprefix/etc/luarocks/config-$luashortversion.lua"
101 end,
102 fail_build_noarg = function() return run "$luarocks build" end,
103 fail_download_noarg = function() return run "$luarocks download" end,
104 fail_install_noarg = function() return run "$luarocks install" end,
105 fail_lint_noarg = function() return run "$luarocks lint" end,
106 fail_search_noarg = function() return run "$luarocks search" end,
107 fail_show_noarg = function() return run "$luarocks show" end,
108 fail_unpack_noarg = function() return run "$luarocks unpack" end,
109 fail_upload_noarg = function() return run "$luarocks upload" end,
110 fail_remove_noarg = function() return run "$luarocks remove" end,
111 fail_doc_noarg = function() return run "$luarocks doc" end,
112 fail_new_version_noarg = function() return run "$luarocks new_version" end,
113 fail_write_rockspec_noarg = function() return run "$luarocks write_rockspec" end,
114 fail_build_invalid = function() return run "$luarocks build invalid" end,
115 fail_download_invalid = function() return run "$luarocks download invalid" end,
116 fail_install_invalid = function() return run "$luarocks install invalid" end,
117 fail_lint_invalid = function() return run "$luarocks lint invalid" end,
118 fail_show_invalid = function() return run "$luarocks show invalid" end,
119 fail_new_version_invalid = function() return run "$luarocks new_version invalid" end,
120 test_list_invalidtree = function() return run "$luarocks --tree=/some/invalid/tree list" end,
121 fail_inexistent_dir = function()
122 -- Unix only?
123 return run "mkdir idontexist; cd idontexist; rmdir ../idontexist; $luarocks; err=$?; cd ..; return $err"
124 end,
125 fail_make_norockspec = function() return run "$luarocks make" end,
126 fail_build_permissions = function() return run "$luarocks build --tree=/usr lpeg" end,
127 fail_build_permissions_parent = function() return run "$luarocks build --tree=/usr/invalid lpeg" end,
128 test_build_verbose = function() return run "$luarocks build --verbose lpeg" end,
129 fail_build_blank_arg = function() return run "$luarocks build --tree="" lpeg" end,
130 test_build_withpatch = function() need_luasocket(); return run "$luarocks build luadoc" end,
131 test_build_diffversion = function() return run "$luarocks build luacov ${version_luacov}" end,
132 test_build_command = function() return run "$luarocks build stdlib" end,
133 test_build_install_bin = function() return run "$luarocks build luarepl" end,
134 test_build_nohttps = function()
135 need_luasocket()
136 return run "$luarocks download --rockspec validate-args ${verrev_validate_args}"
137 and run "$luarocks build ./validate-args-${version_validate_args}-1.rockspec"
138 and rm "./validate-args-${version_validate_args}-1.rockspec"
139 end,
140 test_build_https = function()
141 need_luasocket()
142 return run "$luarocks download --rockspec validate-args ${verrev_validate_args}"
143 and run "$luarocks install luasec"
144 and run "$luarocks build ./validate-args-${verrev_validate_args}.rockspec"
145 and rm "./validate-args-${verrev_validate_args}.rockspec"
146 end,
147 test_build_supported_platforms = function() return run "$luarocks build lpty" end,
148 test_build_only_deps_rockspec = function()
149 return run "$luarocks download --rockspec lxsh ${verrev_lxsh}"
150 and run "$luarocks build ./lxsh-${verrev_lxsh}.rockspec --only-deps"
151 and (not run "$luarocks show lxsh")
152 end,
153 test_build_only_deps_src_rock = function()
154 return run "$luarocks download --source lxsh ${verrev_lxsh}"
155 and run "$luarocks build ./lxsh-${verrev_lxsh}.src.rock --only-deps"
156 and (not run "$luarocks show lxsh")
157 end,
158 test_build_only_deps = function() return run "$luarocks build luasec --only-deps" and (not run "$luarocks show luasec") end,
159 test_install_only_deps = function() return run "$luarocks install lxsh ${verrev_lxsh} --only-deps" and (not run "$luarocks show lxsh") end,
160 fail_build_missing_external = function() return run '$luarocks build "$testing_dir/testfiles/missing_external-0.1-1.rockspec" INEXISTENT_INCDIR="/invalid/dir"' end,
161 fail_build_invalidpatch = function()
162 need_luasocket()
163 return run '$luarocks build "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"'
164 end,
165 test_build_deps_partial_match = function() return run "$luarocks build lmathx" end,
166 test_build_show_downloads = function()
167 return run("$luarocks build alien", { LUAROCKS_CONFIG="$testing_dir/testing_config_show_downloads.lua" })
168 end,
169 test_download_all = function()
170 return run "$luarocks download --all validate-args"
171 and rm(glob("validate-args-*"))
172 end,
173 test_download_rockspecversion = function()
174 return run "$luarocks download --rockspec validate-args ${verrev_validate_args}"
175 and rm(glob("validate-args-*"))
176 end,
177 test_help = function() return run "$luarocks help" end,
178 fail_help_invalid = function() return run "$luarocks help invalid" end,
179 test_install_binaryrock = function()
180 return run "$luarocks build --pack-binary-rock cprint"
181 and run "$luarocks install ./cprint-${verrev_cprint}.${platform}.rock"
182 and rm "./cprint-${verrev_cprint}.${platform}.rock"
183 end,
184 test_install_with_bin = function() return run "$luarocks install wsapi" end,
185 fail_install_notazipfile = function() return run '$luarocks install "$testing_dir/testfiles/not_a_zipfile-1.0-1.src.rock"' end,
186 fail_install_invalidpatch = function()
187 need_luasocket()
188 return run '$luarocks install "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"'
189 end,
190 fail_install_invalid_filename = function() return run '$luarocks install "invalid.rock"' end,
191 fail_install_invalid_arch = function() return run '$luarocks install "foo-1.0-1.impossible-x86.rock"' end,
192 test_install_reinstall = function()
193 return run '$luarocks install "$testing_cache/luasocket-$verrev_luasocket.$platform.rock"'
194 and run '$luarocks install --deps-mode=none "$testing_cache/luasocket-$verrev_luasocket.$platform.rock"'
195 end,
196 fail_local_root = function() return run("$luarocks install --local luasocket", { USER="root" }) end,
197 test_site_config = function()
198 mv("../src/luarocks/site_config.lua", "../src/luarocks/site_config.lua.tmp")
199 local ok = run "$luarocks"
200 mv("../src/luarocks/site_config.lua.tmp", "../src/luarocks/site_config.lua")
201 return ok
202 end,
203 test_lint_ok = function()
204 return run "$luarocks download --rockspec validate-args ${verrev_validate_args}"
205 and run "$luarocks lint ./validate-args-${verrev_validate_args}.rockspec"
206 and rm "./validate-args-${verrev_validate_args}.rockspec"
207 end,
208 fail_lint_type_mismatch_string = function() return run '$luarocks lint "$testing_dir/testfiles/type_mismatch_string-1.0-1.rockspec"' end,
209 fail_lint_type_mismatch_version = function() return run '$luarocks lint "$testing_dir/testfiles/type_mismatch_version-1.0-1.rockspec"' end,
210 fail_lint_type_mismatch_table = function() return run '$luarocks lint "$testing_dir/testfiles/type_mismatch_table-1.0-1.rockspec"' end,
211 fail_lint_no_build_table = function() return run '$luarocks lint "$testing_dir/testfiles/no_build_table-0.1-1.rockspec"' end,
212 test_list = function() return run "$luarocks list" end,
213 test_list_porcelain = function() return run "$luarocks list --porcelain" end,
214 test_make_with_rockspec = function()
215 return rm_rf "./luasocket-${verrev_luasocket}"
216 and run "$luarocks download --source luasocket"
217 and run "$luarocks unpack ./luasocket-${verrev_luasocket}.src.rock"
218 and cd_run("luasocket-${verrev_luasocket}/${srcdir_luasocket}", "$luarocks make luasocket-${verrev_luasocket}.rockspec")
219 and rm_rf "./luasocket-${verrev_luasocket}"
220 end,
221 test_make_default_rockspec = function()
222 return rm_rf "./lxsh-${verrev_lxsh}"
223 and run "$luarocks download --source lxsh ${verrev_lxsh}"
224 and run "$luarocks unpack ./lxsh-${verrev_lxsh}.src.rock"
225 and cd_run("lxsh-${verrev_lxsh}/lxsh-${version_lxsh}-1", "$luarocks make")
226 and rm_rf "./lxsh-${verrev_lxsh}"
227 end,
228 test_make_pack_binary_rock = function()
229 return rm_rf "./lxsh-${verrev_lxsh}"
230 and run "$luarocks download --source lxsh ${verrev_lxsh}"
231 and run "$luarocks unpack ./lxsh-${verrev_lxsh}.src.rock"
232 and cd_run("lxsh-${verrev_lxsh}/lxsh-${version_lxsh}-1", "$luarocks make --deps-mode=none --pack-binary-rock")
233 and exists "lxsh-${verrev_lxsh}/lxsh-${version_lxsh}-1/lxsh-${verrev_lxsh}.all.rock"
234 and rm_rf "./lxsh-${verrev_lxsh}"
235 end,
236 fail_make_which_rockspec = function()
237 rm_rf "./luasocket-${verrev_luasocket}"
238 run "$luarocks download --source luasocket"
239 run "$luarocks unpack ./luasocket-${verrev_luasocket}.src.rock"
240 local ok = cd_run("luasocket-${verrev_luasocket}/${srcdir_luasocket}", "$luarocks make")
241 rm_rf "./luasocket-${verrev_luasocket}"
242 return ok
243 end,
244 test_new_version = function()
245 return run "$luarocks download --rockspec luacov ${version_luacov}"
246 and run "$luarocks new_version ./luacov-${version_luacov}-1.rockspec 0.2"
247 and rm(glob("./luacov-0.*"))
248 end,
249 test_new_version_url = function()
250 return run "$luarocks download --rockspec abelhas 1.0"
251 and run "$luarocks new_version ./abelhas-1.0-1.rockspec 1.1 https://github.com/downloads/ittner/abelhas/abelhas-1.1.tar.gz"
252 and rm(glob("./abelhas-*"))
253 end,
254 test_pack = function()
255 return run "$luarocks list"
256 and run "$luarocks pack luacov"
257 and rm(glob("./luacov-*.rock"))
258 end,
259 test_pack_src = function()
260 return run "$luarocks install luasec"
261 and run "$luarocks download --rockspec luasocket"
262 and run "$luarocks pack ./luasocket-${verrev_luasocket}.rockspec"
263 and rm(glob("./luasocket-${version_luasocket}-*.rock"))
264 end,
265 test_path = function() return run "$luarocks path --bin" end,
266 test_path_lr_path = function() return run "$luarocks path --lr-path" end,
267 test_path_lr_cpath = function() return run "$luarocks path --lr-cpath" end,
268 test_path_lr_bin = function() return run "$luarocks path --lr-bin" end,
269 test_path_with_tree = function() return run "$luarocks path --tree=lua_modules" end,
270 fail_purge_missing_tree = function() return run '$luarocks purge --tree="$testing_tree"' end,
271 test_purge = function() return run '$luarocks purge --tree="$testing_sys_tree"' end,
272 test_remove = function()
273 return run "$luarocks build abelhas ${version_abelhas}"
274 and run "$luarocks remove abelhas ${version_abelhas}"
275 end,
276 test_remove_force = function()
277 need_luasocket()
278 return run "$luarocks build lualogging"
279 and run "$luarocks remove --force luasocket"
280 end,
281 fail_remove_deps = function()
282 need_luasocket()
283 return run "$luarocks build lualogging"
284 and run "$luarocks remove luasocket"
285 end,
286 fail_remove_missing = function() return run "$luarocks remove missing_rock" end,
287 fail_remove_invalid_name = function() return run "$luarocks remove invalid.rock" end,
288 test_search_found = function() return run "$luarocks search zlib" end,
289 test_search_missing = function() return run "$luarocks search missing_rock" end,
290 test_show = function() return run "$luarocks show luacov" end,
291 test_show_modules = function() return run "$luarocks show --modules luacov" end,
292 test_show_home = function() return run "$luarocks show --home luacov" end,
293 test_show_depends = function()
294 need_luasocket()
295 return run "$luarocks install luasec"
296 and run "$luarocks show luasec"
297 end,
298 test_show_oldversion = function()
299 return run "$luarocks install luacov ${version_luacov}"
300 and run "$luarocks show luacov ${version_luacov}"
301 end,
302 test_unpack_download = function()
303 return rm_rf "./cprint-${verrev_cprint}"
304 and run "$luarocks unpack cprint"
305 and rm_rf "./cprint-${verrev_cprint}"
306 end,
307 test_unpack_src = function()
308 return rm_rf "./cprint-${verrev_cprint}"
309 and run "$luarocks download --source cprint"
310 and run "$luarocks unpack ./cprint-${verrev_cprint}.src.rock"
311 and rm_rf "./cprint-${verrev_cprint}"
312 end,
313 test_unpack_rockspec = function()
314 return rm_rf "./cprint-${verrev_cprint}"
315 and run "$luarocks download --rockspec cprint"
316 and run "$luarocks unpack ./cprint-${verrev_cprint}.rockspec"
317 and rm_rf "./cprint-${verrev_cprint}"
318 end,
319 test_unpack_binary = function()
320 return rm_rf "./cprint-${verrev_cprint}"
321 and run "$luarocks build cprint"
322 and run "$luarocks pack cprint"
323 and run "$luarocks unpack ./cprint-${verrev_cprint}.${platform}.rock"
324 and rm_rf "./cprint-${verrev_cprint}"
325 end,
326 fail_unpack_invalidpatch = function()
327 need_luasocket()
328 return run '$luarocks unpack "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"'
329 end,
330 fail_unpack_invalidrockspec = function()
331 need_luasocket()
332 return run '$luarocks unpack "invalid.rockspec"'
333 end,
334 fail_upload_invalidrockspec = function() return run '$luarocks upload "invalid.rockspec"' end,
335 fail_upload_invalidkey = function() return run '$luarocks upload --api-key="invalid" "invalid.rockspec"' end,
336 test_admin_help = function() return run "$luarocks_admin help" end,
337 test_admin_make_manifest = function() return run "$luarocks_admin make_manifest" end,
338 test_admin_add_rsync = function() return run '$luarocks_admin --server=testing add "$testing_server/luasocket-${verrev_luasocket}.src.rock"' end,
339 test_admin_add_sftp = function()
340 return run("$luarocks_admin --server=testing add ./luasocket-${verrev_luasocket}.src.rock", { LUAROCKS_CONFIG="$testing_dir/testing_config_sftp.lua" })
341 end,
342 fail_admin_add_missing = function() return run "$luarocks_admin --server=testing add" end,
343 fail_admin_invalidserver = function() return run '$luarocks_admin --server=invalid add "$testing_server/luasocket-${verrev_luasocket}.src.rock"' end,
344 fail_admin_invalidrock = function() return run "$luarocks_admin --server=testing add invalid" end,
345 test_admin_refresh_cache = function() return run "$luarocks_admin --server=testing refresh_cache" end,
346 test_admin_remove = function() return run "$luarocks_admin --server=testing remove luasocket-${verrev_luasocket}.src.rock" end,
347 fail_admin_remove_missing = function() return run "$luarocks_admin --server=testing remove" end,
348 fail_deps_mode_invalid_arg = function() return run "$luarocks remove luacov --deps-mode" end,
349
350 test_deps_mode_one = function()
351 return run '$luarocks build --tree="system" lpeg'
352 and run '$luarocks list'
353 and run '$luarocks build --deps-mode=one --tree="$testing_tree" lxsh'
354 and run_get_contents '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg' ~= ""
355 end,
356 test_deps_mode_order = function()
357 return run '$luarocks build --tree="system" lpeg'
358 and run '$luarocks build --deps-mode=order --tree="$testing_tree" lxsh'
359 and run '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg'
360 and run_get_contents '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg' == ""
361 end,
362 test_deps_mode_order_sys = function()
363 return run '$luarocks build --tree="$testing_tree" lpeg'
364 and run '$luarocks build --deps-mode=order --tree="$testing_sys_tree" lxsh'
365 and run_get_contents '$luarocks_noecho list --tree="$testing_sys_tree" --porcelain lpeg' ~= ""
366 end,
367 test_deps_mode_all_sys = function()
368 return run '$luarocks build --tree="$testing_tree" lpeg'
369 and run '$luarocks build --deps-mode=all --tree="$testing_sys_tree" lxsh'
370 and run_get_contents '$luarocks_noecho list --tree="$testing_sys_tree" --porcelain lpeg' == ""
371 end,
372
373 test_deps_mode_none = function()
374 return run '$luarocks build --tree="$testing_tree" --deps-mode=none lxsh'
375 and run_get_contents '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg' == ""
376 end,
377 test_deps_mode_nodeps_alias = function()
378 return run '$luarocks build --tree="$testing_tree" --nodeps lxsh'
379 and run_get_contents '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg' == ""
380 end,
381 test_deps_mode_make_order = function()
382 local ok = run '$luarocks build --tree="$testing_sys_tree" lpeg'
383 and rm_rf "./lxsh-${verrev_lxsh}"
384 and run "$luarocks download --source lxsh ${verrev_lxsh}"
385 and run "$luarocks unpack ./lxsh-${verrev_lxsh}.src.rock"
386 and cd_run("lxsh-${verrev_lxsh}/lxsh-${version_lxsh}-1", '$luarocks make --tree="$testing_tree" --deps-mode=order')
387 if not ok then
388 return false
389 end
390 local found = run_get_contents '$luarocks_noecho list --tree="$testing_tree" --porcelain lpeg'
391 rm_rf "./lxsh-${verrev_lxsh}"
392 return found == ""
393 end,
394 test_deps_mode_make_order_sys = function()
395 local ok = run '$luarocks build --tree="$testing_tree" lpeg'
396 and rm_rf "./lxsh-${verrev_lxsh}"
397 and run "$luarocks download --source lxsh ${verrev_lxsh}"
398 and run "$luarocks unpack ./lxsh-${verrev_lxsh}.src.rock"
399 and cd_run("lxsh-${verrev_lxsh}/lxsh-${version_lxsh}-1", '$luarocks make --tree="$testing_sys_tree" --deps-mode=order')
400 if not ok then
401 return false
402 end
403 local found = run_get_contents '$luarocks_noecho list --tree="$testing_sys_tree" --porcelain lpeg'
404 rm_rf "./lxsh-${verrev_lxsh}"
405 return found ~= ""
406 end,
407 test_write_rockspec = function() return run "$luarocks write_rockspec git://github.com/keplerproject/luarocks" end,
408 test_write_rockspec_lib = function() return run '$luarocks write_rockspec git://github.com/mbalmer/luafcgi --lib=fcgi --license="3-clause BSD" --lua-version=5.1,5.2' end,
409 test_write_rockspec_format = function() return run '$luarocks write_rockspec git://github.com/keplerproject/luarocks --rockspec-format=1.1 --lua-version=5.1,5.2' end,
410 test_write_rockspec_fullargs = function() return run '$luarocks write_rockspec git://github.com/keplerproject/luarocks --lua-version=5.1,5.2 --license="MIT/X11" --homepage="http://www.luarocks.org" --summary="A package manager for Lua modules"' end,
411 fail_write_rockspec_args = function() return run "$luarocks write_rockspec invalid" end,
412 fail_write_rockspec_args_url = function() return run "$luarocks write_rockspec http://example.com/invalid.zip" end,
413 test_write_rockspec_http = function() return run "$luarocks write_rockspec http://luarocks.org/releases/luarocks-2.1.0.tar.gz --lua-version=5.1" end,
414 test_write_rockspec_basedir = function() return run "$luarocks write_rockspec https://github.com/downloads/Olivine-Labs/luassert/luassert-1.2.tar.gz --lua-version=5.1" end,
415
416 fail_config_noflags = function() return run "$luarocks config; " end,
417 test_config_lua_incdir = function() return run "$luarocks config --lua-incdir; " end,
418 test_config_lua_libdir = function() return run "$luarocks config --lua-libdir; " end,
419 test_config_lua_ver = function() return run "$luarocks config --lua-ver; " end,
420 fail_config_system_config = function()
421 return rm "$testing_lrprefix/etc/luarocks/config.lua"
422 and run "$luarocks config --system-config; "
423 end,
424 test_config_system_config = function()
425 local ok = mkdir "$testing_lrprefix/etc/luarocks"
426 and touch "$testing_lrprefix/etc/luarocks/config.lua"
427 and run "$luarocks config --system-config; "
428 rm "$testing_lrprefix/etc/luarocks/config.lua"
429 return ok
430 end,
431 fail_config_system_config_invalid = function()
432 local ok = mkdir "$testing_lrprefix/etc/luarocks"
433 and run "echo 'if if if' > '$testing_lrprefix/etc/luarocks/config.lua' ;"
434 and run "$luarocks config --system-config"
435 rm "$testing_lrprefix/etc/luarocks/config.lua"
436 return ok
437 end,
438 test_config_user_config = function() return run "$luarocks config --user-config; " end,
439 fail_config_user_config = function() return run "LUAROCKS_CONFIG='/missing_file.lua' $luarocks config --user-config; " end,
440 test_config_rock_trees = function() return run "$luarocks config --rock-trees;" end,
441 test_config_help = function() return run "$luarocks help config;" end,
442 test_doc = function()
443 return run "$luarocks install luarepl"
444 and run "$luarocks doc luarepl"
445 end,
446 test_doc_home = function()
447 return run "$luarocks install luacov"
448 and run "$luarocks doc luacov --home"
449 end,
450 fail_doc_invalid = function () return run "$luarocks doc invalid" end,
451
452 -- Tests for https://github.com/keplerproject/luarocks/issues/375
453 test_fetch_base_dir = function()
454 local fetch = require "luarocks.fetch"
455
456 return assert("v0.3" == fetch.url_to_base_dir("https://github.com/hishamhm/lua-compat-5.2/archive/v0.3.zip"))
457 and assert("lua-compat-5.2" == fetch.url_to_base_dir("https://github.com/hishamhm/lua-compat-5.2.zip"))
458 and assert("lua-compat-5.2" == fetch.url_to_base_dir("https://github.com/hishamhm/lua-compat-5.2.tar.gz"))
459 and assert("lua-compat-5.2" == fetch.url_to_base_dir("https://github.com/hishamhm/lua-compat-5.2.tar.bz2"))
460 and assert("parser.moon" == fetch.url_to_base_dir("git://github.com/Cirru/parser.moon"))
461 and assert("v0.3" == fetch.url_to_base_dir("https://github.com/hishamhm/lua-compat-5.2/archive/v0.3"))
462 end,
463
464 -- Tests for https://github.com/keplerproject/luarocks/issues/552
465 test_install_break_dependencies_warning = function()
466 need_luasocket()
467 return run "$luarocks install say ${new_version_say}"
468 and run "$luarocks install luassert"
469 and run "$luarocks install say ${old_version_say}"
470 end,
471 test_install_break_dependencies_force = function()
472 need_luasocket()
473 return run "$luarocks install say ${new_version_say}"
474 and run "$luarocks install luassert"
475 and run "$luarocks install --force say ${old_version_say}"
476 end,
477 test_install_break_dependencies_force = function()
478 need_luasocket()
479 return run "$luarocks install say ${new_version_say}"
480 and run "$luarocks install luassert"
481 and run "$luarocks install --force-fast say ${old_version_say}"
482 end
483}