diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2022-04-11 19:16:10 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2022-04-12 13:19:12 -0300 |
commit | 238ba6b21cfcb1af56f1e70dd50de201fc3482a7 (patch) | |
tree | c948b6d3e12e3a518a69d0c844e016c590b31825 /spec | |
parent | df8a3cd3c957db337bfc3ab4d404c33066a24923 (diff) | |
download | luarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.tar.gz luarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.tar.bz2 luarocks-238ba6b21cfcb1af56f1e70dd50de201fc3482a7.zip |
tests: avoid repeated hardcoded package version numbers all over
Diffstat (limited to 'spec')
-rw-r--r-- | spec/add_spec.lua | 12 | ||||
-rw-r--r-- | spec/build_spec.lua | 10 | ||||
-rw-r--r-- | spec/deps_spec.lua | 102 | ||||
-rw-r--r-- | spec/install_spec.lua | 61 | ||||
-rw-r--r-- | spec/list_spec.lua | 5 | ||||
-rw-r--r-- | spec/make_spec.lua | 66 | ||||
-rw-r--r-- | spec/new_version_spec.lua | 14 | ||||
-rw-r--r-- | spec/pack_spec.lua | 4 | ||||
-rw-r--r-- | spec/remove_spec.lua | 37 | ||||
-rw-r--r-- | spec/test_spec.lua | 9 | ||||
-rw-r--r-- | spec/upload_spec.lua | 4 | ||||
-rw-r--r-- | spec/util/test_env.lua | 131 | ||||
-rw-r--r-- | spec/util/versions.lua | 14 |
13 files changed, 291 insertions, 178 deletions
diff --git a/spec/add_spec.lua b/spec/add_spec.lua index ea6274ba..b17cadac 100644 --- a/spec/add_spec.lua +++ b/spec/add_spec.lua | |||
@@ -5,8 +5,8 @@ local testing_paths = test_env.testing_paths | |||
5 | test_env.unload_luarocks() | 5 | test_env.unload_luarocks() |
6 | 6 | ||
7 | local extra_rocks = { | 7 | local extra_rocks = { |
8 | "/luasocket-3.0rc1-2.src.rock", | 8 | "/luasocket-${LUASOCKET}.src.rock", |
9 | "/luasocket-3.0rc1-2.rockspec" | 9 | "/luasocket-${LUASOCKET}.rockspec" |
10 | } | 10 | } |
11 | 11 | ||
12 | describe("LuaRocks add tests #integration", function() | 12 | describe("LuaRocks add tests #integration", function() |
@@ -25,20 +25,20 @@ describe("LuaRocks add tests #integration", function() | |||
25 | end) | 25 | end) |
26 | 26 | ||
27 | it("invalid server", function() | 27 | it("invalid server", function() |
28 | assert.is_false(run.luarocks_admin_bool("--server=invalid add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.src.rock")) | 28 | assert.is_false(run.luarocks_admin_bool("--server=invalid add " .. testing_paths.testing_server .. "/luasocket-${LUASOCKET}.src.rock")) |
29 | end) | 29 | end) |
30 | 30 | ||
31 | it("invalid server #ssh", function() | 31 | it("invalid server #ssh", function() |
32 | assert.is_true(run.luarocks_admin_bool("--server=testing add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.src.rock")) | 32 | assert.is_true(run.luarocks_admin_bool("--server=testing add " .. testing_paths.testing_server .. "/luasocket-${LUASOCKET}.src.rock")) |
33 | end) | 33 | end) |
34 | 34 | ||
35 | --TODO This test fails, sftp support not yet implemented | 35 | --TODO This test fails, sftp support not yet implemented |
36 | it("invalid server", function() | 36 | it("invalid server", function() |
37 | assert.is_false(run.luarocks_admin_bool("--server=testing add luasocket-3.0rc1-2.src.rock", { LUAROCKS_CONFIG = testing_paths.testrun_dir .. "/testing_config_sftp.lua" } )) | 37 | assert.is_false(run.luarocks_admin_bool("--server=testing add luasocket-${LUASOCKET}.src.rock", { LUAROCKS_CONFIG = testing_paths.testrun_dir .. "/testing_config_sftp.lua" } )) |
38 | end) | 38 | end) |
39 | 39 | ||
40 | it("split server url", function() | 40 | it("split server url", function() |
41 | assert.is_false(run.luarocks_admin_bool("--server=\"localhost@/tmp/luarocks_testing\" add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.src.rock")) | 41 | assert.is_false(run.luarocks_admin_bool("--server=\"localhost@/tmp/luarocks_testing\" add " .. testing_paths.testing_server .. "/luasocket-${LUASOCKET}.src.rock")) |
42 | end) | 42 | end) |
43 | end) | 43 | end) |
44 | end) | 44 | end) |
diff --git a/spec/build_spec.lua b/spec/build_spec.lua index a970a5da..ba6c1a94 100644 --- a/spec/build_spec.lua +++ b/spec/build_spec.lua | |||
@@ -19,9 +19,9 @@ local extra_rocks = { | |||
19 | "/lmathx-20150505-1.rockspec", | 19 | "/lmathx-20150505-1.rockspec", |
20 | "/lpeg-1.0.0-1.rockspec", | 20 | "/lpeg-1.0.0-1.rockspec", |
21 | "/lpeg-1.0.0-1.src.rock", | 21 | "/lpeg-1.0.0-1.src.rock", |
22 | "/luafilesystem-1.6.3-1.src.rock", | 22 | "/luafilesystem-${LUAFILESYSTEM}.src.rock", |
23 | "/luasocket-3.0rc1-2.src.rock", | 23 | "/luasocket-${LUASOCKET}.src.rock", |
24 | "/luasocket-3.0rc1-2.rockspec", | 24 | "/luasocket-${LUASOCKET}.rockspec", |
25 | "/stdlib-41.0.0-1.src.rock", | 25 | "/stdlib-41.0.0-1.src.rock", |
26 | "spec/fixtures/a_rock-1.0-1.src.rock", | 26 | "spec/fixtures/a_rock-1.0-1.src.rock", |
27 | "/busted-2.0.0-1.rockspec", | 27 | "/busted-2.0.0-1.rockspec", |
@@ -137,8 +137,8 @@ describe("LuaRocks build #integration", function() | |||
137 | 137 | ||
138 | describe("basic builds", function() | 138 | describe("basic builds", function() |
139 | it("luacov diff version", function() | 139 | it("luacov diff version", function() |
140 | assert.is_true(run.luarocks_bool("build luacov 0.15.0-1")) | 140 | assert.is_true(run.luarocks_bool("build luacov ${LUACOV}")) |
141 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luacov/0.15.0-1/luacov-0.15.0-1.rockspec")) | 141 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luacov/${LUACOV}/luacov-${LUACOV}.rockspec")) |
142 | end) | 142 | end) |
143 | 143 | ||
144 | it("command stdlib", function() | 144 | it("command stdlib", function() |
diff --git a/spec/deps_spec.lua b/spec/deps_spec.lua index 35fd8be5..b0064298 100644 --- a/spec/deps_spec.lua +++ b/spec/deps_spec.lua | |||
@@ -6,11 +6,11 @@ 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 | "/lxsh-0.8.6-2.src.rock", | 9 | "/lxsh-${LXSH}.src.rock", |
10 | "/lxsh-0.8.6-2.rockspec", | 10 | "/lxsh-${LXSH}.rockspec", |
11 | "/luasocket-3.0rc1-2.src.rock", | 11 | "/luasocket-${LUASOCKET}.src.rock", |
12 | "/luasocket-3.0rc1-2.rockspec", | 12 | "/luasocket-${LUASOCKET}.rockspec", |
13 | "/lpeg-1.0.0-1.src.rock", | 13 | "/lpeg-${LPEG}.src.rock", |
14 | } | 14 | } |
15 | 15 | ||
16 | describe("LuaRocks deps-mode #integration", function() | 16 | describe("LuaRocks deps-mode #integration", function() |
@@ -23,92 +23,96 @@ describe("LuaRocks deps-mode #integration", function() | |||
23 | assert.is_true(run.luarocks_bool("build --tree=system lpeg")) | 23 | assert.is_true(run.luarocks_bool("build --tree=system lpeg")) |
24 | assert.is_true(run.luarocks_bool("build --deps-mode=one --tree=" .. testing_paths.testing_tree .. " lxsh")) | 24 | assert.is_true(run.luarocks_bool("build --deps-mode=one --tree=" .. testing_paths.testing_tree .. " lxsh")) |
25 | 25 | ||
26 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 26 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
27 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 27 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
28 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 28 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
29 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 29 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
30 | end) | 30 | end) |
31 | 31 | ||
32 | it("order", function() | 32 | it("order", function() |
33 | assert.is_true(run.luarocks_bool("build --tree=system lpeg")) | 33 | assert.is_true(run.luarocks_bool("build --tree=system lpeg")) |
34 | assert.is_true(run.luarocks_bool("build --deps-mode=order --tree=" .. testing_paths.testing_tree .. " lxsh")) | 34 | assert.is_true(run.luarocks_bool("build --deps-mode=order --tree=" .. testing_paths.testing_tree .. " lxsh")) |
35 | 35 | ||
36 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 36 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
38 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 38 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
39 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 39 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
40 | end) | 40 | end) |
41 | 41 | ||
42 | it("order sys", function() | 42 | it("order sys", function() |
43 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) | 43 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) |
44 | assert.is_true(run.luarocks_bool("build --deps-mode=order --tree=" .. testing_paths.testing_sys_tree .. " lxsh")) | 44 | assert.is_true(run.luarocks_bool("build --deps-mode=order --tree=" .. testing_paths.testing_sys_tree .. " lxsh")) |
45 | 45 | ||
46 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 46 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
47 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 47 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
48 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 48 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
49 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 49 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
50 | end) | 50 | end) |
51 | 51 | ||
52 | it("all sys", function() | 52 | it("all sys", function() |
53 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) | 53 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) |
54 | assert.is_true(run.luarocks_bool("build --deps-mode=all --tree=" .. testing_paths.testing_sys_tree .. " lxsh")) | 54 | assert.is_true(run.luarocks_bool("build --deps-mode=all --tree=" .. testing_paths.testing_sys_tree .. " lxsh")) |
55 | 55 | ||
56 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 56 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
57 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 57 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
58 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 58 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
59 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 59 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
60 | end) | 60 | end) |
61 | 61 | ||
62 | it("none", function() | 62 | it("none", function() |
63 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) | 63 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) |
64 | assert.is_true(run.luarocks_bool("build --deps-mode=none lxsh")) | 64 | assert.is_true(run.luarocks_bool("build --deps-mode=none lxsh")) |
65 | 65 | ||
66 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 66 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
67 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 67 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
68 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 68 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
69 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 69 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
70 | end) | 70 | end) |
71 | 71 | ||
72 | it("LuaRocks nodeps alias", function() | 72 | it("LuaRocks nodeps alias", function() |
73 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " --nodeps lxsh")) | 73 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " --nodeps lxsh")) |
74 | 74 | ||
75 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 75 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
76 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 76 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
77 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 77 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
78 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 78 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
79 | end) | 79 | end) |
80 | 80 | ||
81 | it("make order", function() | 81 | it("make order", function() |
82 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_sys_tree .. " lpeg")) | 82 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_sys_tree .. " lpeg")) |
83 | assert.is_true(run.luarocks_bool("download --source lxsh 0.8.6")) | 83 | assert.is_true(run.luarocks_bool("download --source lxsh ${LXSH_V}")) |
84 | assert.is_true(run.luarocks_bool("unpack lxsh-0.8.6-2.src.rock")) | 84 | assert.is_true(run.luarocks_bool("unpack lxsh-${LXSH}.src.rock")) |
85 | lfs.chdir("lxsh-0.8.6-2/lxsh-0.8.6-1/") | 85 | lfs.chdir("lxsh-${LXSH}/lxsh-${LXSH_V}-1/") |
86 | assert.is_true(run.luarocks_bool("make --tree=" .. testing_paths.testing_tree .. " --deps-mode=order")) | 86 | assert.is_true(run.luarocks_bool("make --tree=" .. testing_paths.testing_tree .. " --deps-mode=order")) |
87 | 87 | ||
88 | lfs.chdir(testing_paths.testrun_dir) | 88 | finally(function() |
89 | test_env.remove_dir("lxsh-0.8.6-2") | 89 | lfs.chdir(testing_paths.testrun_dir) |
90 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 90 | test_env.remove_dir("lxsh-${LXSH}") |
91 | assert.is_true(os.remove("lxsh-${LXSH}.src.rock")) | ||
92 | end) | ||
91 | 93 | ||
92 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 94 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
93 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 95 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
94 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 96 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
95 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 97 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
96 | end) | 98 | end) |
97 | 99 | ||
98 | it("make order sys", function() | 100 | it("make order sys", function() |
99 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) | 101 | assert.is_true(run.luarocks_bool("build --tree=" .. testing_paths.testing_tree .. " lpeg")) |
100 | assert.is_true(run.luarocks_bool("download --source lxsh 0.8.6")) | 102 | assert.is_true(run.luarocks_bool("download --source lxsh ${LXSH_V}")) |
101 | assert.is_true(run.luarocks_bool("unpack lxsh-0.8.6-2.src.rock")) | 103 | assert.is_true(run.luarocks_bool("unpack lxsh-${LXSH}.src.rock")) |
102 | lfs.chdir("lxsh-0.8.6-2/lxsh-0.8.6-1/") | 104 | lfs.chdir("lxsh-${LXSH}/lxsh-${LXSH_V}-1/") |
103 | assert.is_true(run.luarocks_bool("make --tree=" .. testing_paths.testing_sys_tree .. " --deps-mode=order")) | 105 | assert.is_true(run.luarocks_bool("make --tree=" .. testing_paths.testing_sys_tree .. " --deps-mode=order")) |
104 | 106 | ||
105 | lfs.chdir(testing_paths.testrun_dir) | 107 | finally(function() |
106 | test_env.remove_dir("lxsh-0.8.6-2") | 108 | lfs.chdir(testing_paths.testrun_dir) |
107 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 109 | test_env.remove_dir("lxsh-${LXSH}") |
110 | assert.is_true(os.remove("lxsh-${LXSH}.src.rock")) | ||
111 | end) | ||
108 | 112 | ||
109 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 113 | assert.is.truthy(lfs.attributes(testing_paths.testing_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
110 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | 114 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lpeg/${LPEG}/lpeg-${LPEG}.rockspec")) |
111 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 115 | assert.is.falsy(lfs.attributes(testing_paths.testing_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
112 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 116 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
113 | end) | 117 | end) |
114 | end) | 118 | end) |
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 | |||
5 | local env_variables = test_env.env_variables | 5 | local env_variables = test_env.env_variables |
6 | local write_file = test_env.write_file | 6 | local write_file = test_env.write_file |
7 | local git_repo = require("spec.util.git_repo") | 7 | local git_repo = require("spec.util.git_repo") |
8 | local V = test_env.V | ||
8 | 9 | ||
9 | test_env.unload_luarocks() | 10 | test_env.unload_luarocks() |
10 | 11 | ||
11 | local extra_rocks = { | 12 | local 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) |
diff --git a/spec/list_spec.lua b/spec/list_spec.lua index 875d72a4..54c63bea 100644 --- a/spec/list_spec.lua +++ b/spec/list_spec.lua | |||
@@ -1,4 +1,5 @@ | |||
1 | local test_env = require("spec.util.test_env") | 1 | local test_env = require("spec.util.test_env") |
2 | local V = test_env.V | ||
2 | local run = test_env.run | 3 | local run = test_env.run |
3 | local testing_paths = test_env.testing_paths | 4 | local testing_paths = test_env.testing_paths |
4 | 5 | ||
@@ -22,13 +23,13 @@ describe("luarocks list #integration", function() | |||
22 | 23 | ||
23 | it("--porcelain", function() | 24 | it("--porcelain", function() |
24 | local output = run.luarocks("list --porcelain") | 25 | local output = run.luarocks("list --porcelain") |
25 | assert.is.truthy(output:find("luacov\t0.15.0-1\tinstalled\t" .. testing_paths.testing_sys_rocks, 1, true)) | 26 | assert.is.truthy(output:find(V"luacov\t${LUACOV}\tinstalled\t" .. testing_paths.testing_sys_rocks, 1, true)) |
26 | end) | 27 | end) |
27 | 28 | ||
28 | it("shows version number", function() | 29 | it("shows version number", function() |
29 | local output = run.luarocks("list") | 30 | local output = run.luarocks("list") |
30 | assert.is.truthy(output:find("luacov")) | 31 | assert.is.truthy(output:find("luacov")) |
31 | assert.matches("0.15.0-1", output, 1, true) | 32 | assert.matches(V"${LUACOV}", output, 1, true) |
32 | end) | 33 | end) |
33 | 34 | ||
34 | it("LuaRocks install outdated and list it", function() | 35 | it("LuaRocks install outdated and list it", function() |
diff --git a/spec/make_spec.lua b/spec/make_spec.lua index e14eb66b..626d84df 100644 --- a/spec/make_spec.lua +++ b/spec/make_spec.lua | |||
@@ -8,11 +8,11 @@ local write_file = test_env.write_file | |||
8 | test_env.unload_luarocks() | 8 | test_env.unload_luarocks() |
9 | 9 | ||
10 | local extra_rocks = { | 10 | local extra_rocks = { |
11 | "/luasocket-3.0rc1-2.src.rock", | 11 | "/luasocket-${LUASOCKET}.src.rock", |
12 | "/luasocket-3.0rc1-2.rockspec", | 12 | "/luasocket-${LUASOCKET}.rockspec", |
13 | "/lpeg-0.12-1.src.rock", | 13 | "/lpeg-${LPEG}.src.rock", |
14 | "/lxsh-0.8.6-2.src.rock", | 14 | "/lxsh-${LXSH}.src.rock", |
15 | "/lxsh-0.8.6-2.rockspec" | 15 | "/lxsh-${LXSH}.rockspec" |
16 | } | 16 | } |
17 | 17 | ||
18 | describe("luarocks make #integration", function() | 18 | describe("luarocks make #integration", function() |
@@ -35,35 +35,35 @@ describe("luarocks make #integration", function() | |||
35 | finally(function() | 35 | finally(function() |
36 | -- delete downloaded and unpacked files | 36 | -- delete downloaded and unpacked files |
37 | lfs.chdir(testing_paths.testrun_dir) | 37 | lfs.chdir(testing_paths.testrun_dir) |
38 | test_env.remove_dir("luasocket-3.0rc1-2") | 38 | test_env.remove_dir("luasocket-${LUASOCKET}") |
39 | os.remove("luasocket-3.0rc1-2.src.rock") | 39 | os.remove("luasocket-${LUASOCKET}.src.rock") |
40 | end) | 40 | end) |
41 | 41 | ||
42 | -- make luasocket | 42 | -- make luasocket |
43 | assert.is_true(run.luarocks_bool("download --source luasocket 3.0rc1-2")) | 43 | assert.is_true(run.luarocks_bool("download --source luasocket ${LUASOCKET}")) |
44 | assert.is_true(run.luarocks_bool("unpack luasocket-3.0rc1-2.src.rock")) | 44 | assert.is_true(run.luarocks_bool("unpack luasocket-${LUASOCKET}.src.rock")) |
45 | lfs.chdir("luasocket-3.0rc1-2/luasocket-3.0-rc1/") | 45 | lfs.chdir("luasocket-${LUASOCKET}/luasocket/") |
46 | assert.is_true(run.luarocks_bool("make luasocket-3.0rc1-2.rockspec")) | 46 | assert.is_true(run.luarocks_bool("make luasocket-${LUASOCKET}.rockspec")) |
47 | 47 | ||
48 | -- test it | 48 | -- test it |
49 | assert.is_true(run.luarocks_bool("show luasocket")) | 49 | assert.is_true(run.luarocks_bool("show luasocket")) |
50 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luasocket/3.0rc1-2/luasocket-3.0rc1-2.rockspec")) | 50 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luasocket/${LUASOCKET}/luasocket-${LUASOCKET}.rockspec")) |
51 | end) | 51 | end) |
52 | 52 | ||
53 | it("--no-doc", function() | 53 | it("--no-doc", function() |
54 | finally(function() | 54 | finally(function() |
55 | lfs.chdir(testing_paths.testrun_dir) | 55 | lfs.chdir(testing_paths.testrun_dir) |
56 | test_env.remove_dir("luasocket-3.0rc1-2") | 56 | test_env.remove_dir("luasocket-${LUASOCKET}") |
57 | os.remove("luasocket-3.0rc1-2.src.rock") | 57 | os.remove("luasocket-${LUASOCKET}.src.rock") |
58 | end) | 58 | end) |
59 | 59 | ||
60 | assert.is_true(run.luarocks_bool("download --source luasocket 3.0rc1-2")) | 60 | assert.is_true(run.luarocks_bool("download --source luasocket ${LUASOCKET}")) |
61 | assert.is_true(run.luarocks_bool("unpack luasocket-3.0rc1-2.src.rock")) | 61 | assert.is_true(run.luarocks_bool("unpack luasocket-${LUASOCKET}.src.rock")) |
62 | lfs.chdir("luasocket-3.0rc1-2/luasocket-3.0-rc1/") | 62 | lfs.chdir("luasocket-${LUASOCKET}/luasocket") |
63 | assert.is_true(run.luarocks_bool("make --no-doc luasocket-3.0rc1-2.rockspec")) | 63 | assert.is_true(run.luarocks_bool("make --no-doc luasocket-${LUASOCKET}.rockspec")) |
64 | 64 | ||
65 | assert.is_true(run.luarocks_bool("show luasocket")) | 65 | assert.is_true(run.luarocks_bool("show luasocket")) |
66 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luasocket/3.0rc1-2/doc")) | 66 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/luasocket/${LUASOCKET}/doc")) |
67 | end) | 67 | end) |
68 | 68 | ||
69 | it("--only-deps", function() | 69 | it("--only-deps", function() |
@@ -82,24 +82,24 @@ describe("luarocks make #integration", function() | |||
82 | describe("LuaRocks making rockspecs (using lxsh)", function() | 82 | describe("LuaRocks making rockspecs (using lxsh)", function() |
83 | --download lxsh and unpack it | 83 | --download lxsh and unpack it |
84 | before_each(function() | 84 | before_each(function() |
85 | assert.is_true(run.luarocks_bool("download --source lxsh 0.8.6-2")) | 85 | assert.is_true(run.luarocks_bool("download --source lxsh ${LXSH}")) |
86 | assert.is_true(run.luarocks_bool("unpack lxsh-0.8.6-2.src.rock")) | 86 | assert.is_true(run.luarocks_bool("unpack lxsh-${LXSH}.src.rock")) |
87 | assert.is_true(lfs.chdir("lxsh-0.8.6-2/lxsh-0.8.6-1/")) | 87 | assert.is_true(lfs.chdir("lxsh-${LXSH}/lxsh-${LXSH_V}-1/")) |
88 | end) | 88 | end) |
89 | 89 | ||
90 | -- delete downloaded and unpacked files | 90 | -- delete downloaded and unpacked files |
91 | after_each(function() | 91 | after_each(function() |
92 | assert(lfs.chdir(testing_paths.testrun_dir)) | 92 | assert(lfs.chdir(testing_paths.testrun_dir)) |
93 | test_env.remove_dir("lxsh-0.8.6-2") | 93 | test_env.remove_dir("lxsh-${LXSH}") |
94 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 94 | assert.is_true(os.remove("lxsh-${LXSH}.src.rock")) |
95 | end) | 95 | end) |
96 | 96 | ||
97 | it("default rockspec", function() | 97 | it("default rockspec", function() |
98 | assert.is_true(run.luarocks_bool("new_version lxsh-0.8.6-2.rockspec")) | 98 | assert.is_true(run.luarocks_bool("new_version lxsh-${LXSH}.rockspec")) |
99 | assert.is_true(run.luarocks_bool("make")) | 99 | assert.is_true(run.luarocks_bool("make")) |
100 | 100 | ||
101 | assert.is_true(run.luarocks_bool("show lxsh")) | 101 | assert.is_true(run.luarocks_bool("show lxsh")) |
102 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-3/lxsh-0.8.6-3.rockspec")) | 102 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH_V}-3/lxsh-${LXSH_V}-3.rockspec")) |
103 | end) | 103 | end) |
104 | 104 | ||
105 | it("unnamed rockspec", function() | 105 | it("unnamed rockspec", function() |
@@ -107,35 +107,35 @@ describe("luarocks make #integration", function() | |||
107 | os.remove("rockspec") | 107 | os.remove("rockspec") |
108 | end) | 108 | end) |
109 | 109 | ||
110 | test_env.copy("lxsh-0.8.6-2.rockspec", "rockspec") | 110 | test_env.copy("lxsh-${LXSH}.rockspec", "rockspec") |
111 | assert.is_true(run.luarocks_bool("make")) | 111 | assert.is_true(run.luarocks_bool("make")) |
112 | 112 | ||
113 | assert.is_true(run.luarocks_bool("show lxsh")) | 113 | assert.is_true(run.luarocks_bool("show lxsh")) |
114 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 114 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
115 | end) | 115 | end) |
116 | 116 | ||
117 | it("ambiguous rockspec", function() | 117 | it("ambiguous rockspec", function() |
118 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "lxsh2-0.8.6-2.rockspec")) | 118 | assert.is.truthy(os.rename("lxsh-${LXSH}.rockspec", "lxsh2-${LXSH}.rockspec")) |
119 | local output = run.luarocks("make") | 119 | local output = run.luarocks("make") |
120 | assert.is.truthy(output:match("Error: Inconsistency between rockspec filename")) | 120 | assert.is.truthy(output:match("Error: Inconsistency between rockspec filename")) |
121 | 121 | ||
122 | assert.is_false(run.luarocks_bool("show lxsh")) | 122 | assert.is_false(run.luarocks_bool("show lxsh")) |
123 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 123 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
124 | end) | 124 | end) |
125 | 125 | ||
126 | it("ambiguous unnamed rockspec", function() | 126 | it("ambiguous unnamed rockspec", function() |
127 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "1_rockspec")) | 127 | assert.is.truthy(os.rename("lxsh-${LXSH}.rockspec", "1_rockspec")) |
128 | test_env.copy("1_rockspec", "2_rockspec") | 128 | test_env.copy("1_rockspec", "2_rockspec") |
129 | local output = run.luarocks("make") | 129 | local output = run.luarocks("make") |
130 | assert.is.truthy(output:match("Error: Please specify which rockspec file to use")) | 130 | assert.is.truthy(output:match("Error: Please specify which rockspec file to use")) |
131 | 131 | ||
132 | assert.is_false(run.luarocks_bool("show lxsh")) | 132 | assert.is_false(run.luarocks_bool("show lxsh")) |
133 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) | 133 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/lxsh/${LXSH}/lxsh-${LXSH}.rockspec")) |
134 | end) | 134 | end) |
135 | 135 | ||
136 | it("pack binary rock", function() | 136 | it("pack binary rock", function() |
137 | assert.is_true(run.luarocks_bool("make --deps-mode=none --pack-binary-rock")) | 137 | assert.is_true(run.luarocks_bool("make --deps-mode=none --pack-binary-rock")) |
138 | assert.is.truthy(lfs.attributes("lxsh-0.8.6-2.all.rock")) | 138 | assert.is.truthy(lfs.attributes("lxsh-${LXSH}.all.rock")) |
139 | end) | 139 | end) |
140 | end) | 140 | end) |
141 | 141 | ||
diff --git a/spec/new_version_spec.lua b/spec/new_version_spec.lua index f8795db0..d47cfd05 100644 --- a/spec/new_version_spec.lua +++ b/spec/new_version_spec.lua | |||
@@ -7,7 +7,7 @@ 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.rockspec", |
10 | "/lpeg-0.12-1.rockspec" | 10 | "/lpeg-${LPEG}.rockspec" |
11 | } | 11 | } |
12 | 12 | ||
13 | describe("luarocks new_version #integration", function() | 13 | describe("luarocks new_version #integration", function() |
@@ -41,8 +41,8 @@ describe("luarocks new_version #integration", function() | |||
41 | 41 | ||
42 | describe("more complex tests", function() | 42 | describe("more complex tests", function() |
43 | it("of luacov", function() | 43 | it("of luacov", function() |
44 | assert.is_true(run.luarocks_bool("download --rockspec luacov 0.15.0")) | 44 | assert.is_true(run.luarocks_bool("download --rockspec luacov ${LUACOV_V}")) |
45 | assert.is_true(run.luarocks_bool("new_version luacov-0.15.0-1.rockspec 0.2")) | 45 | assert.is_true(run.luarocks_bool("new_version luacov-${LUACOV}.rockspec 0.2")) |
46 | assert.is.truthy(lfs.attributes("luacov-0.2-1.rockspec")) | 46 | assert.is.truthy(lfs.attributes("luacov-0.2-1.rockspec")) |
47 | test_env.remove_files(lfs.currentdir(), "luacov%-") | 47 | test_env.remove_files(lfs.currentdir(), "luacov%-") |
48 | end) | 48 | end) |
@@ -55,15 +55,15 @@ describe("luarocks new_version #integration", function() | |||
55 | end) | 55 | end) |
56 | 56 | ||
57 | it("of luacov with tag", function() | 57 | it("of luacov with tag", function() |
58 | assert.is_true(run.luarocks_bool("download --rockspec luacov 0.15.0")) | 58 | assert.is_true(run.luarocks_bool("download --rockspec luacov ${LUACOV_V}")) |
59 | assert.is_true(run.luarocks_bool("new_version luacov-0.15.0-1.rockspec --tag v0.3")) | 59 | assert.is_true(run.luarocks_bool("new_version luacov-${LUACOV}.rockspec --tag v0.3")) |
60 | assert.is.truthy(lfs.attributes("luacov-0.3-1.rockspec")) | 60 | assert.is.truthy(lfs.attributes("luacov-0.3-1.rockspec")) |
61 | test_env.remove_files(lfs.currentdir(), "luacov%-") | 61 | test_env.remove_files(lfs.currentdir(), "luacov%-") |
62 | end) | 62 | end) |
63 | 63 | ||
64 | it("updating md5", function() | 64 | it("updating md5", function() |
65 | assert.is_true(run.luarocks_bool("download --rockspec lpeg 0.12")) | 65 | assert.is_true(run.luarocks_bool("download --rockspec lpeg ${LPEG_V}")) |
66 | assert.is_true(run.luarocks_bool("new_version lpeg-0.12-1.rockspec 0.2 https://luarocks.org/manifests/gvvaughan/lpeg-1.0.0-1.rockspec")) | 66 | assert.is_true(run.luarocks_bool("new_version lpeg-${LPEG}.rockspec 0.2 https://luarocks.org/manifests/gvvaughan/lpeg-1.0.0-1.rockspec")) |
67 | test_env.remove_files(lfs.currentdir(), "lpeg%-") | 67 | test_env.remove_files(lfs.currentdir(), "lpeg%-") |
68 | end) | 68 | end) |
69 | end) | 69 | end) |
diff --git a/spec/pack_spec.lua b/spec/pack_spec.lua index d81258c6..0a4e0d8a 100644 --- a/spec/pack_spec.lua +++ b/spec/pack_spec.lua | |||
@@ -8,8 +8,8 @@ test_env.unload_luarocks() | |||
8 | 8 | ||
9 | local extra_rocks = { | 9 | local extra_rocks = { |
10 | "/luassert-1.7.0-1.src.rock", | 10 | "/luassert-1.7.0-1.src.rock", |
11 | "/luasocket-3.0rc1-2.src.rock", | 11 | "/luasocket-${LUASOCKET}.src.rock", |
12 | "/luasocket-3.0rc1-2.rockspec", | 12 | "/luasocket-${LUASOCKET}.rockspec", |
13 | "/say-1.2-1.src.rock", | 13 | "/say-1.2-1.src.rock", |
14 | "/say-1.0-1.src.rock" | 14 | "/say-1.0-1.src.rock" |
15 | } | 15 | } |
diff --git a/spec/remove_spec.lua b/spec/remove_spec.lua index 21a39696..a67db591 100644 --- a/spec/remove_spec.lua +++ b/spec/remove_spec.lua | |||
@@ -3,16 +3,17 @@ local lfs = require("lfs") | |||
3 | local run = test_env.run | 3 | local run = test_env.run |
4 | local testing_paths = test_env.testing_paths | 4 | local testing_paths = test_env.testing_paths |
5 | local env_variables = test_env.env_variables | 5 | local env_variables = test_env.env_variables |
6 | local V = test_env.V | ||
6 | 7 | ||
7 | test_env.unload_luarocks() | 8 | test_env.unload_luarocks() |
8 | 9 | ||
9 | local extra_rocks = { | 10 | local extra_rocks = { |
10 | "/abelhas-1.1-1.src.rock", | 11 | "/abelhas-1.1-1.src.rock", |
11 | "/copas-2.0.1-1.src.rock", | 12 | "/copas-${COPAS}.src.rock", |
12 | "/coxpcall-1.16.0-1.src.rock", | 13 | "/coxpcall-1.16.0-1.src.rock", |
13 | "/coxpcall-1.16.0-1.rockspec", | 14 | "/coxpcall-1.16.0-1.rockspec", |
14 | "/luafilesystem-1.7.0-1.src.rock", | 15 | "/luafilesystem-${LUAFILESYSTEM}.src.rock", |
15 | "/luafilesystem-1.6.3-2.src.rock", | 16 | "/luafilesystem-${LUAFILESYSTEM_OLD}.src.rock", |
16 | } | 17 | } |
17 | 18 | ||
18 | describe("luarocks remove #integration", function() | 19 | describe("luarocks remove #integration", function() |
@@ -85,31 +86,35 @@ describe("luarocks remove #integration", function() | |||
85 | end) | 86 | end) |
86 | 87 | ||
87 | it("restores old versions", function() | 88 | it("restores old versions", function() |
88 | assert.is_true(run.luarocks_bool("install luafilesystem 1.6.3")) | 89 | local libdir = testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION |
89 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) | 90 | |
91 | assert.is_true(run.luarocks_bool("install luafilesystem ${LUAFILESYSTEM_OLD_V}")) | ||
92 | assert.is.truthy(lfs.attributes(libdir.."/lfs."..test_env.lib_extension)) | ||
90 | 93 | ||
91 | if test_env.TEST_TARGET_OS ~= "windows" then | 94 | if test_env.TEST_TARGET_OS ~= "windows" then |
92 | local fd = io.open(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension, "r") | 95 | local fd = io.open(libdir.."/lfs."..test_env.lib_extension, "r") |
93 | assert(fd:read("*a"):match("LuaFileSystem 1.6.3", 1, true)) | 96 | assert(fd:read("*a"):match(V"LuaFileSystem ${LUAFILESYSTEM_OLD_V}", 1, true)) |
94 | fd:close() | 97 | fd:close() |
95 | end | 98 | end |
96 | 99 | ||
97 | assert.is_true(run.luarocks_bool("install luafilesystem 1.7.0 --keep")) | 100 | local suffix = (V"${LUAFILESYSTEM_OLD}"):gsub("[%.%-]", "_") |
98 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) | 101 | |
99 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/luafilesystem_1_6_3_2-lfs."..test_env.lib_extension)) | 102 | assert.is_true(run.luarocks_bool("install luafilesystem ${LUAFILESYSTEM_V} --keep")) |
103 | assert.is.truthy(lfs.attributes(libdir.."/lfs."..test_env.lib_extension)) | ||
104 | assert.is.truthy(lfs.attributes(libdir.."/luafilesystem_"..suffix.."-lfs."..test_env.lib_extension)) | ||
100 | 105 | ||
101 | if test_env.TEST_TARGET_OS ~= "windows" then | 106 | if test_env.TEST_TARGET_OS ~= "windows" then |
102 | local fd = io.open(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension, "r") | 107 | local fd = io.open(libdir.."/lfs."..test_env.lib_extension, "r") |
103 | assert(fd:read("*a"):match("LuaFileSystem 1.7.0", 1, true)) | 108 | assert(fd:read("*a"):match(V"LuaFileSystem ${LUAFILESYSTEM_V}", 1, true)) |
104 | fd:close() | 109 | fd:close() |
105 | end | 110 | end |
106 | 111 | ||
107 | assert.is_true(run.luarocks_bool("remove luafilesystem 1.7.0")) | 112 | assert.is_true(run.luarocks_bool("remove luafilesystem ${LUAFILESYSTEM_V}")) |
108 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension)) | 113 | assert.is.truthy(lfs.attributes(libdir.."/lfs."..test_env.lib_extension)) |
109 | 114 | ||
110 | if test_env.TEST_TARGET_OS ~= "windows" then | 115 | if test_env.TEST_TARGET_OS ~= "windows" then |
111 | local fd = io.open(testing_paths.testing_sys_tree .. "/lib/lua/"..env_variables.LUA_VERSION.."/lfs."..test_env.lib_extension, "r") | 116 | local fd = io.open(libdir.."/lfs."..test_env.lib_extension, "r") |
112 | assert(fd:read("*a"):match("LuaFileSystem 1.6.3", 1, true)) | 117 | assert(fd:read("*a"):match(V"LuaFileSystem ${LUAFILESYSTEM_OLD_V}", 1, true)) |
113 | fd:close() | 118 | fd:close() |
114 | end | 119 | end |
115 | end) | 120 | end) |
diff --git a/spec/test_spec.lua b/spec/test_spec.lua index 943d0e48..21844d63 100644 --- a/spec/test_spec.lua +++ b/spec/test_spec.lua | |||
@@ -10,7 +10,7 @@ test_env.unload_luarocks() | |||
10 | local extra_rocks = { | 10 | local extra_rocks = { |
11 | "/busted-2.0.0-1.rockspec", | 11 | "/busted-2.0.0-1.rockspec", |
12 | "/lua_cliargs-3.0-1.src.rock", | 12 | "/lua_cliargs-3.0-1.src.rock", |
13 | "/luafilesystem-1.7.0-2.src.rock", | 13 | "/luafilesystem-${LUAFILESYSTEM}.src.rock", |
14 | "/luasystem-0.2.1-0.src.rock", | 14 | "/luasystem-0.2.1-0.src.rock", |
15 | "/dkjson-2.5-2.src.rock", | 15 | "/dkjson-2.5-2.src.rock", |
16 | "/say-1.3-1.rockspec", | 16 | "/say-1.3-1.rockspec", |
@@ -41,6 +41,7 @@ describe("luarocks test #integration", function() | |||
41 | lazy_setup(function() | 41 | lazy_setup(function() |
42 | -- Try to cache rocks from the host system to speed up test | 42 | -- Try to cache rocks from the host system to speed up test |
43 | for _, r in ipairs(extra_rocks) do | 43 | for _, r in ipairs(extra_rocks) do |
44 | r = test_env.V(r) | ||
44 | local n, v = r:match("^/(.*)%-([^%-]+)%-%d+%.[^%-]+$") | 45 | local n, v = r:match("^/(.*)%-([^%-]+)%-%d+%.[^%-]+$") |
45 | os.execute("luarocks pack " .. n .. " " .. v) | 46 | os.execute("luarocks pack " .. n .. " " .. v) |
46 | end | 47 | end |
@@ -84,17 +85,17 @@ describe("luarocks test #integration", function() | |||
84 | assert.is_true(run.luarocks_bool("unpack busted_project-0.1-1.src.rock")) | 85 | assert.is_true(run.luarocks_bool("unpack busted_project-0.1-1.src.rock")) |
85 | lfs.chdir("busted_project-0.1-1/busted_project") | 86 | lfs.chdir("busted_project-0.1-1/busted_project") |
86 | assert.is_true(run.luarocks_bool("make")) | 87 | assert.is_true(run.luarocks_bool("make")) |
87 | 88 | ||
88 | run.luarocks_bool("remove busted") | 89 | run.luarocks_bool("remove busted") |
89 | local prepareOutput = run.luarocks_bool("test --prepare") | 90 | local prepareOutput = run.luarocks_bool("test --prepare") |
90 | assert.is_true(run.luarocks_bool("show busted")) | 91 | assert.is_true(run.luarocks_bool("show busted")) |
91 | 92 | ||
92 | -- Assert that "test --prepare" run successfully | 93 | -- Assert that "test --prepare" run successfully |
93 | assert.is_true(prepareOutput) | 94 | assert.is_true(prepareOutput) |
94 | 95 | ||
95 | local output = run.luarocks("test") | 96 | local output = run.luarocks("test") |
96 | assert.not_match(tostring(prepareOutput), output) | 97 | assert.not_match(tostring(prepareOutput), output) |
97 | 98 | ||
98 | end) | 99 | end) |
99 | end) | 100 | end) |
100 | end) | 101 | end) |
diff --git a/spec/upload_spec.lua b/spec/upload_spec.lua index 73775992..73f26cd7 100644 --- a/spec/upload_spec.lua +++ b/spec/upload_spec.lua | |||
@@ -23,12 +23,12 @@ describe("luarocks upload #integration", function() | |||
23 | end) | 23 | end) |
24 | 24 | ||
25 | it("api key invalid and skip-pack", function() | 25 | it("api key invalid and skip-pack", function() |
26 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --skip-pack " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec")) | 26 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --skip-pack " .. testing_paths.testing_server .. "/luasocket-${LUASOCKET}.rockspec")) |
27 | end) | 27 | end) |
28 | 28 | ||
29 | it("force #unix", function() | 29 | it("force #unix", function() |
30 | assert.is_true(test_env.need_rock("dkjson")) | 30 | assert.is_true(test_env.need_rock("dkjson")) |
31 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --force " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec")) | 31 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --force " .. testing_paths.testing_server .. "/luasocket-${LUASOCKET}.rockspec")) |
32 | end) | 32 | end) |
33 | 33 | ||
34 | describe("tests with Xavante server #mock", function() | 34 | describe("tests with Xavante server #mock", function() |
diff --git a/spec/util/test_env.lua b/spec/util/test_env.lua index 737d90a5..6a466bae 100644 --- a/spec/util/test_env.lua +++ b/spec/util/test_env.lua | |||
@@ -1,6 +1,7 @@ | |||
1 | local test_env = {} | 1 | local test_env = {} |
2 | 2 | ||
3 | local lfs = require("lfs") | 3 | local lfs = require("lfs") |
4 | local versions = require("spec.util.versions") | ||
4 | 5 | ||
5 | local help_message = [[ | 6 | local help_message = [[ |
6 | LuaRocks test-suite | 7 | LuaRocks test-suite |
@@ -36,14 +37,6 @@ local function title(str) | |||
36 | print(("-"):rep(#str)) | 37 | print(("-"):rep(#str)) |
37 | end | 38 | end |
38 | 39 | ||
39 | function test_env.exists(path) | ||
40 | return lfs.attributes(path, "mode") ~= nil | ||
41 | end | ||
42 | |||
43 | function test_env.file_if_exists(path) | ||
44 | return lfs.attributes(path, "mode") and path | ||
45 | end | ||
46 | |||
47 | --- Quote argument for shell processing. Fixes paths on Windows. | 40 | --- Quote argument for shell processing. Fixes paths on Windows. |
48 | -- Adds double quotes and escapes. Based on function in fs/win32.lua. | 41 | -- Adds double quotes and escapes. Based on function in fs/win32.lua. |
49 | -- @param arg string: Unquoted argument. | 42 | -- @param arg string: Unquoted argument. |
@@ -66,6 +59,62 @@ local function Q(arg) | |||
66 | end | 59 | end |
67 | end | 60 | end |
68 | 61 | ||
62 | local function V(str) | ||
63 | return (str:gsub("${([^}]-)}", function(name) | ||
64 | name = name:lower() | ||
65 | local prefix, suffix = name:match("^(.*)_(.)$") | ||
66 | if suffix then | ||
67 | name = prefix | ||
68 | local d = assert(versions[name]) | ||
69 | local v, r = d:match("^([^-]*)%-(%d*)$") | ||
70 | if suffix == "d" then | ||
71 | return d | ||
72 | elseif suffix == "v" then | ||
73 | return v | ||
74 | elseif suffix == "r" then | ||
75 | return v | ||
76 | else | ||
77 | print("Test error: invalid suffix " .. suffix .. " in variable " .. name) | ||
78 | os.exit(1) | ||
79 | end | ||
80 | else | ||
81 | if not versions[name] then | ||
82 | print("Test error: no version definition for " .. name) | ||
83 | os.exit(1) | ||
84 | end | ||
85 | return versions[name] | ||
86 | end | ||
87 | end)) | ||
88 | end | ||
89 | |||
90 | local os_remove = os.remove | ||
91 | os.remove = function(f) -- luacheck: ignore | ||
92 | return os_remove(V(f)) | ||
93 | end | ||
94 | |||
95 | local os_rename = os.rename | ||
96 | os.rename = function(a, b) -- luacheck: ignore | ||
97 | return os_rename(V(a), V(b)) | ||
98 | end | ||
99 | |||
100 | local lfs_chdir = lfs.chdir | ||
101 | lfs.chdir = function(d) -- luacheck: ignore | ||
102 | return lfs_chdir(V(d)) | ||
103 | end | ||
104 | |||
105 | local lfs_attributes = lfs.attributes | ||
106 | lfs.attributes = function(f, ...) -- luacheck: ignore | ||
107 | return lfs_attributes(V(f), ...) | ||
108 | end | ||
109 | |||
110 | function test_env.exists(path) | ||
111 | return lfs.attributes(path, "mode") ~= nil | ||
112 | end | ||
113 | |||
114 | function test_env.file_if_exists(path) | ||
115 | return lfs.attributes(path, "mode") and path | ||
116 | end | ||
117 | |||
69 | function test_env.quiet(command) | 118 | function test_env.quiet(command) |
70 | if not test_env.VERBOSE then | 119 | if not test_env.VERBOSE then |
71 | if test_env.TEST_TARGET_OS == "windows" then | 120 | if test_env.TEST_TARGET_OS == "windows" then |
@@ -79,6 +128,9 @@ function test_env.quiet(command) | |||
79 | end | 128 | end |
80 | 129 | ||
81 | function test_env.copy(source, destination) | 130 | function test_env.copy(source, destination) |
131 | source = V(source) | ||
132 | destination = V(destination) | ||
133 | |||
82 | local r_source, err = io.open(source, "r") | 134 | local r_source, err = io.open(source, "r") |
83 | local r_destination, err = io.open(destination, "w") | 135 | local r_destination, err = io.open(destination, "w") |
84 | 136 | ||
@@ -303,6 +355,9 @@ function test_env.set_args() | |||
303 | end | 355 | end |
304 | 356 | ||
305 | function test_env.copy_dir(source_path, target_path) | 357 | function test_env.copy_dir(source_path, target_path) |
358 | source_path = V(source_path) | ||
359 | target_path = V(target_path) | ||
360 | |||
306 | local testing_paths = test_env.testing_paths | 361 | local testing_paths = test_env.testing_paths |
307 | if test_env.TEST_TARGET_OS == "windows" then | 362 | if test_env.TEST_TARGET_OS == "windows" then |
308 | execute_bool(testing_paths.win_tools .. "/cp -R ".. source_path .. "/. " .. target_path) | 363 | execute_bool(testing_paths.win_tools .. "/cp -R ".. source_path .. "/. " .. target_path) |
@@ -314,6 +369,8 @@ end | |||
314 | --- Remove directory recursively | 369 | --- Remove directory recursively |
315 | -- @param path string: directory path to delete | 370 | -- @param path string: directory path to delete |
316 | function test_env.remove_dir(path) | 371 | function test_env.remove_dir(path) |
372 | path = V(path) | ||
373 | |||
317 | if test_env.exists(path) then | 374 | if test_env.exists(path) then |
318 | for file in lfs.dir(path) do | 375 | for file in lfs.dir(path) do |
319 | if file ~= "." and file ~= ".." then | 376 | if file ~= "." and file ~= ".." then |
@@ -334,6 +391,8 @@ end | |||
334 | -- @param path string: path to directory | 391 | -- @param path string: path to directory |
335 | -- @param pattern string: pattern matching basenames of subdirectories to be removed | 392 | -- @param pattern string: pattern matching basenames of subdirectories to be removed |
336 | function test_env.remove_subdirs(path, pattern) | 393 | function test_env.remove_subdirs(path, pattern) |
394 | path = V(path) | ||
395 | |||
337 | if test_env.exists(path) then | 396 | if test_env.exists(path) then |
338 | for file in lfs.dir(path) do | 397 | for file in lfs.dir(path) do |
339 | if file ~= "." and file ~= ".." then | 398 | if file ~= "." and file ~= ".." then |
@@ -352,6 +411,8 @@ end | |||
352 | -- @param pattern string: pattern matching basenames of files to be deleted | 411 | -- @param pattern string: pattern matching basenames of files to be deleted |
353 | -- @return result_check boolean: true if one or more files deleted | 412 | -- @return result_check boolean: true if one or more files deleted |
354 | function test_env.remove_files(path, pattern) | 413 | function test_env.remove_files(path, pattern) |
414 | path = V(path) | ||
415 | |||
355 | local result_check = false | 416 | local result_check = false |
356 | if test_env.exists(path) then | 417 | if test_env.exists(path) then |
357 | for file in lfs.dir(path) do | 418 | for file in lfs.dir(path) do |
@@ -378,6 +439,8 @@ local function download_rocks(urls, save_path) | |||
378 | local to_download = {} | 439 | local to_download = {} |
379 | local fixtures = {} | 440 | local fixtures = {} |
380 | for _, url in ipairs(urls) do | 441 | for _, url in ipairs(urls) do |
442 | url = V(url) | ||
443 | |||
381 | if url:match("^spec/fixtures") then | 444 | if url:match("^spec/fixtures") then |
382 | table.insert(fixtures, (url:gsub("^spec/fixtures", test_env.testing_paths.fixtures_dir))) | 445 | table.insert(fixtures, (url:gsub("^spec/fixtures", test_env.testing_paths.fixtures_dir))) |
383 | else | 446 | else |
@@ -399,7 +462,10 @@ local function download_rocks(urls, save_path) | |||
399 | else | 462 | else |
400 | cmd = "wget -cP " .. save_path | 463 | cmd = "wget -cP " .. save_path |
401 | end | 464 | end |
402 | assert(execute_bool(cmd.." "..table.concat(to_download, " "))) | 465 | local ok = execute_bool(cmd.." "..table.concat(to_download, " ")) |
466 | if not ok then | ||
467 | os.exit(1) | ||
468 | end | ||
403 | end | 469 | end |
404 | 470 | ||
405 | return (#fixtures > 0) or (#to_download > 0) | 471 | return (#fixtures > 0) or (#to_download > 0) |
@@ -409,6 +475,8 @@ end | |||
409 | -- @param pathname string: path to file. | 475 | -- @param pathname string: path to file. |
410 | -- @param str string: content of the file. | 476 | -- @param str string: content of the file. |
411 | function test_env.write_file(pathname, str, finally) | 477 | function test_env.write_file(pathname, str, finally) |
478 | pathname = V(pathname) | ||
479 | |||
412 | local file = assert(io.open(pathname, "w")) | 480 | local file = assert(io.open(pathname, "w")) |
413 | file:write(str) | 481 | file:write(str) |
414 | file:close() | 482 | file:close() |
@@ -487,6 +555,7 @@ local function make_run_function(cmd_name, exec_function, with_coverage, do_prin | |||
487 | end | 555 | end |
488 | 556 | ||
489 | return function(cmd, new_vars) | 557 | return function(cmd, new_vars) |
558 | cmd = V(cmd) | ||
490 | local temp_vars = {} | 559 | local temp_vars = {} |
491 | for k, v in pairs(test_env.env_variables) do | 560 | for k, v in pairs(test_env.env_variables) do |
492 | temp_vars[k] = v | 561 | temp_vars[k] = v |
@@ -519,7 +588,11 @@ local function move_file(src, dst) | |||
519 | if test_env.TEST_TARGET_OS == "windows" then | 588 | if test_env.TEST_TARGET_OS == "windows" then |
520 | execute_bool(test_env.testing_paths.win_tools .. "/mv " .. src .. " " .. dst) | 589 | execute_bool(test_env.testing_paths.win_tools .. "/mv " .. src .. " " .. dst) |
521 | else | 590 | else |
522 | execute_bool("mv " .. src .. " " .. dst) | 591 | local ok = execute_bool("mv " .. src .. " " .. dst) |
592 | if not ok then | ||
593 | print(debug.traceback()) | ||
594 | os.exit(1) | ||
595 | end | ||
523 | end | 596 | end |
524 | end | 597 | end |
525 | 598 | ||
@@ -541,9 +614,9 @@ local function build_environment(rocks, env_variables) | |||
541 | test_env.run.luarocks_admin_nocov("make_manifest " .. Q(testing_paths.testing_cache)) | 614 | test_env.run.luarocks_admin_nocov("make_manifest " .. Q(testing_paths.testing_cache)) |
542 | 615 | ||
543 | for _, rock in ipairs(rocks) do | 616 | for _, rock in ipairs(rocks) do |
544 | if not test_env.run.luarocks_nocov("install --only-server=" .. testing_paths.testing_cache .. " --tree=" .. testing_paths.testing_sys_tree .. " " .. Q(rock), env_variables) then | 617 | if not test_env.run.luarocks_nocov(test_env.quiet("install --only-server=" .. testing_paths.testing_cache .. " --tree=" .. testing_paths.testing_sys_tree .. " " .. Q(rock), env_variables)) then |
545 | test_env.run.luarocks_nocov("build --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock), env_variables) | 618 | assert(test_env.run.luarocks_nocov("build --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock), env_variables)) |
546 | test_env.run.luarocks_nocov("pack --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock), env_variables) | 619 | assert(test_env.run.luarocks_nocov("pack --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock), env_variables)) |
547 | move_file(rock .. "-*.rock", testing_paths.testing_cache) | 620 | move_file(rock .. "-*.rock", testing_paths.testing_cache) |
548 | end | 621 | end |
549 | end | 622 | end |
@@ -685,6 +758,8 @@ end | |||
685 | -- Return `true` if the rock is already installed or has been installed successfully, | 758 | -- Return `true` if the rock is already installed or has been installed successfully, |
686 | -- `false` if installation failed. | 759 | -- `false` if installation failed. |
687 | function test_env.need_rock(rock) | 760 | function test_env.need_rock(rock) |
761 | rock = V(rock) | ||
762 | |||
688 | print("Check if " .. rock .. " is installed") | 763 | print("Check if " .. rock .. " is installed") |
689 | if test_env.run.luarocks_noprint_nocov(test_env.quiet("show " .. rock)) then | 764 | if test_env.run.luarocks_noprint_nocov(test_env.quiet("show " .. rock)) then |
690 | return true | 765 | return true |
@@ -887,10 +962,12 @@ local function prepare_mock_server_binary_rocks() | |||
887 | 962 | ||
888 | local rocks = { | 963 | local rocks = { |
889 | -- rocks needed for mock-server | 964 | -- rocks needed for mock-server |
890 | "luasocket-3.0rc1-2.src.rock", | 965 | "luasocket-${LUASOCKET}.src.rock", |
891 | "coxpcall-1.16.0-1.src.rock", | 966 | "coxpcall-1.16.0-1.src.rock", |
892 | "copas-2.0.1-1.src.rock", | 967 | "binaryheap-${BINARYHEAP}.src.rock", |
893 | "luafilesystem-1.7.0-2.src.rock", | 968 | "timerwheel-${TIMERWHEEL}.src.rock", |
969 | "copas-${COPAS}.src.rock", | ||
970 | "luafilesystem-${LUAFILESYSTEM}.src.rock", | ||
894 | "xavante-2.4.0-1.src.rock", | 971 | "xavante-2.4.0-1.src.rock", |
895 | "wsapi-1.6.1-1.src.rock", | 972 | "wsapi-1.6.1-1.src.rock", |
896 | "rings-1.3.0-1.src.rock", | 973 | "rings-1.3.0-1.src.rock", |
@@ -901,6 +978,7 @@ local function prepare_mock_server_binary_rocks() | |||
901 | } | 978 | } |
902 | local make_manifest = download_rocks(rocks, testing_paths.testing_server) | 979 | local make_manifest = download_rocks(rocks, testing_paths.testing_server) |
903 | for _, rock in ipairs(rocks) do | 980 | for _, rock in ipairs(rocks) do |
981 | rock = V(rock) | ||
904 | local rockname = rock:gsub("%-[^-]+%-%d+%.[%a.]+$", "") | 982 | local rockname = rock:gsub("%-[^-]+%-%d+%.[%a.]+$", "") |
905 | if not find_binary_rock(rock, testing_paths.testing_server) then | 983 | if not find_binary_rock(rock, testing_paths.testing_server) then |
906 | test_env.run.luarocks_nocov("build " .. Q(testing_paths.testing_server .. "/" .. rock) .. " --tree=" .. testing_paths.testing_cache) | 984 | test_env.run.luarocks_nocov("build " .. Q(testing_paths.testing_server .. "/" .. rock) .. " --tree=" .. testing_paths.testing_cache) |
@@ -937,25 +1015,29 @@ function test_env.main() | |||
937 | local urls = {} -- names of rock and rockspec files to be downloaded | 1015 | local urls = {} -- names of rock and rockspec files to be downloaded |
938 | 1016 | ||
939 | if test_env.TYPE_TEST_ENV == "full" then | 1017 | if test_env.TYPE_TEST_ENV == "full" then |
940 | table.insert(urls, "/luafilesystem-1.6.3-1.src.rock") | 1018 | table.insert(urls, "/luafilesystem-${LUAFILESYSTEM}.src.rock") |
941 | table.insert(urls, "/luasocket-3.0rc1-1.src.rock") | 1019 | table.insert(urls, "/luasocket-${LUASOCKET}.src.rock") |
942 | table.insert(urls, "/luasocket-3.0rc1-1.rockspec") | 1020 | table.insert(urls, "/luasocket-${LUASOCKET}.rockspec") |
943 | table.insert(urls, "/md5-1.2-1.src.rock") | 1021 | table.insert(urls, "/md5-1.2-1.src.rock") |
944 | --table.insert(urls, "/lzlib-0.4.1.53-1.src.rock") | 1022 | --table.insert(urls, "/lzlib-0.4.1.53-1.src.rock") |
945 | table.insert(urls, "/lua-zlib-1.2-0.src.rock") | 1023 | table.insert(urls, "/lua-zlib-1.2-0.src.rock") |
946 | table.insert(urls, "/lua-bz2-0.1.0-1.src.rock") | 1024 | table.insert(urls, "/lua-bz2-0.1.0-1.src.rock") |
947 | rocks = {"luafilesystem", "luasocket", "md5", "lua-zlib", "lua-bz2"} | 1025 | rocks = {"luafilesystem", "luasocket", "md5", "lua-zlib", "lua-bz2"} |
948 | if test_env.TEST_TARGET_OS ~= "windows" then | 1026 | if test_env.TEST_TARGET_OS ~= "windows" then |
949 | table.insert(urls, "/luaposix-33.2.1-1.src.rock") | 1027 | if test_env.lua_version == "5.1" then |
1028 | table.insert(urls, "/bit32-${BIT32}.src.rock") | ||
1029 | table.insert(rocks, "bit32") | ||
1030 | end | ||
1031 | table.insert(urls, "/luaposix-${LUAPOSIX}.src.rock") | ||
950 | table.insert(rocks, "luaposix") | 1032 | table.insert(rocks, "luaposix") |
951 | end | 1033 | end |
952 | end | 1034 | end |
953 | 1035 | ||
954 | -- luacov is needed for both minimal or full environment | 1036 | -- luacov is needed for both minimal or full environment |
955 | table.insert(urls, "/luacov-0.15.0-1.rockspec") | 1037 | table.insert(urls, "/luacov-${LUACOV}.rockspec") |
956 | table.insert(urls, "/luacov-0.15.0-1.src.rock") | 1038 | table.insert(urls, "/luacov-${LUACOV}.src.rock") |
957 | table.insert(urls, "/cluacov-0.1.1-1.rockspec") | 1039 | table.insert(urls, "/cluacov-${CLUACOV}.rockspec") |
958 | table.insert(urls, "/cluacov-0.1.1-1.src.rock") | 1040 | table.insert(urls, "/cluacov-${CLUACOV}.src.rock") |
959 | table.insert(rocks, "luacov") | 1041 | table.insert(rocks, "luacov") |
960 | table.insert(rocks, "cluacov") | 1042 | table.insert(rocks, "cluacov") |
961 | 1043 | ||
@@ -977,5 +1059,6 @@ test_env.set_args() | |||
977 | test_env.testing_paths = create_paths(test_env.LUA_V or test_env.LUAJIT_V) | 1059 | test_env.testing_paths = create_paths(test_env.LUA_V or test_env.LUAJIT_V) |
978 | test_env.env_variables = create_env(test_env.testing_paths) | 1060 | test_env.env_variables = create_env(test_env.testing_paths) |
979 | test_env.run = make_run_functions() | 1061 | test_env.run = make_run_functions() |
1062 | test_env.V = V | ||
980 | 1063 | ||
981 | return test_env | 1064 | return test_env |
diff --git a/spec/util/versions.lua b/spec/util/versions.lua new file mode 100644 index 00000000..b0d5c453 --- /dev/null +++ b/spec/util/versions.lua | |||
@@ -0,0 +1,14 @@ | |||
1 | return { | ||
2 | binaryheap = "0.4-1", -- dependency for copas | ||
3 | bit32 = "5.3.5.1-1", -- dependency for luaposix on Lua 5.1 | ||
4 | cluacov = "0.1.2-1", | ||
5 | copas = "3.0.0-1", | ||
6 | lpeg = "1.0.0-1", | ||
7 | luacov = "0.15.0-1", | ||
8 | luafilesystem = "1.8.0-1", | ||
9 | luafilesystem_old = "1.6.3-2", | ||
10 | luaposix = "35.1-1", | ||
11 | luasocket = "3.0.0-1", | ||
12 | lxsh = "0.8.6-2", | ||
13 | timerwheel = "0.2.0-2", -- dependency for copas | ||
14 | } | ||