diff options
author | roboo <robo.karasek@gmail.com> | 2016-08-21 21:50:38 +0200 |
---|---|---|
committer | roboo <robo.karasek@gmail.com> | 2016-08-21 21:50:38 +0200 |
commit | 2f3c8648289bb4e22eee5f8ff8d27afca6592fa4 (patch) | |
tree | 5d4f17b5d949e67edde281e6dbe7142a24b57260 | |
parent | 5cdc22fb3c3a85160cd7c2d49ba10ab113e4a784 (diff) | |
download | luarocks-2f3c8648289bb4e22eee5f8ff8d27afca6592fa4.tar.gz luarocks-2f3c8648289bb4e22eee5f8ff8d27afca6592fa4.tar.bz2 luarocks-2f3c8648289bb4e22eee5f8ff8d27afca6592fa4.zip |
Windows and appveyor support for tests
-rw-r--r-- | spec/add_spec.lua | 16 | ||||
-rw-r--r-- | spec/build_spec.lua | 89 | ||||
-rw-r--r-- | spec/config_spec.lua | 70 | ||||
-rw-r--r-- | spec/deps_spec.lua | 70 | ||||
-rw-r--r-- | spec/install_spec.lua | 36 | ||||
-rw-r--r-- | spec/make_manifest_spec.lua | 2 | ||||
-rw-r--r-- | spec/make_spec.lua | 43 | ||||
-rw-r--r-- | spec/pack_spec.lua | 18 | ||||
-rw-r--r-- | spec/refresh_cache_spec.lua | 2 | ||||
-rw-r--r-- | spec/remove_spec.lua | 6 | ||||
-rw-r--r-- | spec/search_spec.lua | 1 | ||||
-rw-r--r-- | spec/show_spec.lua | 6 | ||||
-rw-r--r-- | spec/unpack_spec.lua | 18 | ||||
-rw-r--r-- | spec/upload_spec.lua | 14 | ||||
-rw-r--r-- | spec/util_spec.lua | 59 | ||||
-rw-r--r-- | test/test_environment.lua | 173 |
16 files changed, 408 insertions, 215 deletions
diff --git a/spec/add_spec.lua b/spec/add_spec.lua index dca6f850..d42a97d0 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-1.src.rock", | 8 | "/luasocket-3.0rc1-2.src.rock", |
9 | "/luasocket-3.0rc1-1.rockspec" | 9 | "/luasocket-3.0rc1-2.rockspec" |
10 | } | 10 | } |
11 | 11 | ||
12 | describe("LuaRocks add tests #blackbox #b_add", function() | 12 | describe("LuaRocks add tests #blackbox #b_add", function() |
@@ -25,20 +25,20 @@ describe("LuaRocks add tests #blackbox #b_add", function() | |||
25 | end) | 25 | end) |
26 | 26 | ||
27 | it("LuaRocks-admin add invalid server", function() | 27 | it("LuaRocks-admin add invalid server", function() |
28 | assert.is_false(run.luarocks_admin_bool("--server=invalid add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-1.src.rock")) | 28 | assert.is_false(run.luarocks_admin_bool("--server=invalid add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.src.rock")) |
29 | end) | 29 | end) |
30 | 30 | ||
31 | it("LuaRocks-admin add invalid server #ssh", function() | 31 | it("LuaRocks-admin add invalid server #ssh", function() |
32 | assert.is_true(run.luarocks_admin_bool("--server=testing add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-1.src.rock")) | 32 | assert.is_true(run.luarocks_admin_bool("--server=testing add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.src.rock")) |
33 | end) | 33 | end) |
34 | 34 | ||
35 | --TODO This test fails, sftp not implemented | 35 | --TODO This test fails, sftp support not yet implemented |
36 | it("LuaRocks-admin add invalid server", function() --? | 36 | it("LuaRocks-admin add invalid server", function() |
37 | assert.is_false(run.luarocks_admin_bool("--server=testing add luasocket-3.0rc1-1.src.rock", { LUAROCKS_CONFIG = testing_paths.testing_dir .. "/testing_config_sftp.lua" } )) | 37 | assert.is_false(run.luarocks_admin_bool("--server=testing add luasocket-3.0rc1-2.src.rock", { LUAROCKS_CONFIG = testing_paths.testing_dir .. "/testing_config_sftp.lua" } )) |
38 | end) | 38 | end) |
39 | 39 | ||
40 | it("LuaRocks-admin add, split server url", function() | 40 | it("LuaRocks-admin add, 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-1.src.rock")) | 41 | assert.is_false(run.luarocks_admin_bool("--server=\"localhost@/tmp/luarocks_testing\" add " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.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 2ede5211..b4f838ca 100644 --- a/spec/build_spec.lua +++ b/spec/build_spec.lua | |||
@@ -12,15 +12,16 @@ local extra_rocks = { | |||
12 | "/lmathx-20120430.52-1.rockspec", | 12 | "/lmathx-20120430.52-1.rockspec", |
13 | "/lmathx-20150505-1.src.rock", | 13 | "/lmathx-20150505-1.src.rock", |
14 | "/lmathx-20150505-1.rockspec", | 14 | "/lmathx-20150505-1.rockspec", |
15 | "/lpeg-0.12-1.src.rock", | 15 | "/lpeg-1.0.0-1.rockspec", |
16 | "/lpeg-1.0.0-1.src.rock", | ||
16 | "/lpty-1.0.1-1.src.rock", | 17 | "/lpty-1.0.1-1.src.rock", |
17 | "/luadoc-3.0.1-1.src.rock", | 18 | "/luadoc-3.0.1-1.src.rock", |
18 | "/luafilesystem-1.6.3-1.src.rock", | 19 | "/luafilesystem-1.6.3-1.src.rock", |
19 | "/lualogging-1.3.0-1.src.rock", | 20 | "/lualogging-1.3.0-1.src.rock", |
20 | "/luarepl-0.4-1.src.rock", | 21 | "/luarepl-0.4-1.src.rock", |
21 | "/luasec-0.6-1.rockspec", | 22 | "/luasec-0.6-1.rockspec", |
22 | "/luasocket-3.0rc1-1.src.rock", | 23 | "/luasocket-3.0rc1-2.src.rock", |
23 | "/luasocket-3.0rc1-1.rockspec", | 24 | "/luasocket-3.0rc1-2.rockspec", |
24 | "/lxsh-0.8.6-2.src.rock", | 25 | "/lxsh-0.8.6-2.src.rock", |
25 | "/lxsh-0.8.6-2.rockspec", | 26 | "/lxsh-0.8.6-2.rockspec", |
26 | "/stdlib-41.0.0-1.src.rock", | 27 | "/stdlib-41.0.0-1.src.rock", |
@@ -57,27 +58,35 @@ describe("LuaRocks build tests #blackbox #b_build", function() | |||
57 | end) | 58 | end) |
58 | 59 | ||
59 | it("LuaRocks build lpeg verbose", function() | 60 | it("LuaRocks build lpeg verbose", function() |
60 | assert.is.truthy(run.luarocks("build --verbose lpeg")) | 61 | assert.is_true(run.luarocks_bool("build --verbose lpeg")) |
61 | end) | 62 | end) |
62 | 63 | ||
63 | it("LuaRocks build lpeg branch=master", function() | 64 | it("LuaRocks build lpeg branch=master", function() |
64 | assert.is_true(run.luarocks_bool("build --branch=master lpeg")) | 65 | assert.is_true(run.luarocks_bool("build --branch=master lpeg")) |
65 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 66 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
66 | end) | 67 | end) |
67 | 68 | ||
68 | it("LuaRocks build lpeg deps-mode=123", function() | 69 | it("LuaRocks build lpeg deps-mode=123", function() |
69 | assert.is_false(run.luarocks_bool("build --deps-mode=123 lpeg")) | 70 | assert.is_false(run.luarocks_bool("build --deps-mode=123 lpeg --verbose")) |
70 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 71 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
71 | end) | 72 | end) |
72 | 73 | ||
73 | it("LuaRocks build lpeg only-sources example", function() | 74 | it("LuaRocks build lpeg only-sources example", function() |
74 | assert.is_true(run.luarocks_bool("build --only-sources=\"http://example.com\" lpeg")) | 75 | assert.is_true(run.luarocks_bool("download --rockspec lpeg")) |
75 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 76 | assert.is_false(run.luarocks_bool("build --only-sources=\"http://example.com\" lpeg-1.0.0-1.rockspec")) |
77 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | ||
78 | |||
79 | assert.is_true(run.luarocks_bool("download --source lpeg")) | ||
80 | assert.is_true(run.luarocks_bool("build --only-sources=\"http://example.com\" lpeg-1.0.0-1.src.rock")) | ||
81 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) | ||
82 | |||
83 | assert.is_true(os.remove("lpeg-1.0.0-1.rockspec")) | ||
84 | assert.is_true(os.remove("lpeg-1.0.0-1.src.rock")) | ||
76 | end) | 85 | end) |
77 | 86 | ||
78 | it("LuaRocks build lpeg with empty tree", function() | 87 | it("LuaRocks build lpeg with empty tree", function() |
79 | assert.is_false(run.luarocks_bool("build --tree=\"\" lpeg")) | 88 | assert.is_false(run.luarocks_bool("build --tree=\"\" lpeg")) |
80 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 89 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
81 | end) | 90 | end) |
82 | end) | 91 | end) |
83 | 92 | ||
@@ -88,32 +97,47 @@ describe("LuaRocks build tests #blackbox #b_build", function() | |||
88 | 97 | ||
89 | it("LuaRocks build luacov diff version", function() | 98 | it("LuaRocks build luacov diff version", function() |
90 | assert.is_true(run.luarocks_bool("build luacov 0.11.0-1")) | 99 | assert.is_true(run.luarocks_bool("build luacov 0.11.0-1")) |
91 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luacov")) | 100 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luacov/0.11.0-1/luacov-0.11.0-1.rockspec")) |
92 | end) | 101 | end) |
93 | 102 | ||
94 | it("LuaRocks build command stdlib", function() | 103 | it("LuaRocks build command stdlib", function() |
95 | assert.is_true(run.luarocks_bool("build stdlib")) | 104 | assert.is_true(run.luarocks_bool("build stdlib")) |
96 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/stdlib")) | 105 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/stdlib/41.0.0-1/stdlib-41.0.0-1.rockspec")) |
97 | end) | 106 | end) |
98 | 107 | ||
99 | it("LuaRocks build install bin luarepl", function() | 108 | it("LuaRocks build install bin luarepl", function() |
100 | assert.is_true(run.luarocks_bool("build luarepl")) | 109 | assert.is_true(run.luarocks_bool("build luarepl")) |
101 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luarepl")) | 110 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luarepl/0.4-1/luarepl-0.4-1.rockspec")) |
102 | end) | 111 | end) |
103 | 112 | ||
104 | it("LuaRocks build supported platforms lpty", function() | 113 | it("LuaRocks build supported platforms lpty", function() |
105 | assert.is_true(run.luarocks_bool(test_env.quiet("build lpty"))) | 114 | if test_env.TEST_TARGET_OS == "windows" then |
106 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpty")) | 115 | assert.is_false(run.luarocks_bool("build lpty")) --Error: This rockspec for lpty does not support win32, windows platforms |
116 | else | ||
117 | assert.is_true(run.luarocks_bool(test_env.quiet("build lpty"))) | ||
118 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpty/1.0.1-1/lpty-1.0.1-1.rockspec")) | ||
119 | end | ||
107 | end) | 120 | end) |
108 | 121 | ||
109 | it("LuaRocks build luasec with skipping dependency checks", function() | 122 | it("LuaRocks build luasec with skipping dependency checks", function() |
110 | assert.is_true(run.luarocks_bool(test_env.quiet("build luasec --nodeps"))) | 123 | if test_env.APPVEYOR then |
111 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasec")) | 124 | assert.is_true(run.luarocks_bool("build luasec " .. test_env.APPVEYOR_OPENSSL .. " --nodeps")) |
125 | else | ||
126 | assert.is_true(run.luarocks_bool("build luasec --nodeps")) | ||
127 | end | ||
128 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasec/0.6-1/luasec-0.6-1.rockspec")) | ||
112 | end) | 129 | end) |
113 | 130 | ||
114 | it("LuaRocks build lmathx deps partial match", function() | 131 | it("LuaRocks build lmathx deps partial match", function() |
115 | assert.is_true(run.luarocks_bool("build lmathx")) | 132 | assert.is_true(run.luarocks_bool("build lmathx")) |
116 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lmathx")) | 133 | |
134 | if test_env.LUA_V == "5.1" or test_env.LUAJIT_V then | ||
135 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lmathx/20120430.51-1/lmathx-20120430.51-1.rockspec")) | ||
136 | elseif test_env.LUA_V == "5.2" then | ||
137 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lmathx/20120430.52-1/lmathx-20120430.52-1.rockspec")) | ||
138 | elseif test_env.LUA_V == "5.3" then | ||
139 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lmathx/20150505-1/lmathx-20150505-1.rockspec")) | ||
140 | end | ||
117 | end) | 141 | end) |
118 | end) | 142 | end) |
119 | 143 | ||
@@ -126,17 +150,21 @@ describe("LuaRocks build tests #blackbox #b_build", function() | |||
126 | end | 150 | end |
127 | 151 | ||
128 | it("LuaRocks build luasec only deps", function() | 152 | it("LuaRocks build luasec only deps", function() |
129 | assert.is_true(run.luarocks_bool(test_env.quiet("build luasec --only-deps"))) | 153 | if test_env.APPVEYOR then |
154 | assert.is_true(run.luarocks_bool(test_env.quiet("build luasec " .. test_env.APPVEYOR_OPENSSL .. " --only-deps"))) | ||
155 | else | ||
156 | assert.is_true(run.luarocks_bool(test_env.quiet("build luasec --only-deps"))) | ||
157 | end | ||
130 | assert.is_false(run.luarocks_bool("show luasec")) | 158 | assert.is_false(run.luarocks_bool("show luasec")) |
131 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasec")) | 159 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasec/0.6-1/luasec-0.6-1.rockspec")) |
132 | end) | 160 | end) |
133 | 161 | ||
134 | it("LuaRocks build only deps of downloaded rockspec of lxsh", function() | 162 | it("LuaRocks build only deps of downloaded rockspec of lxsh", function() |
135 | assert.is_true(run.luarocks_bool("download --rockspec lxsh 0.8.6-2")) | 163 | assert.is_true(run.luarocks_bool("download --rockspec lxsh 0.8.6-2")) |
136 | assert.is.truthy(run.luarocks("build lxsh-0.8.6-2.rockspec --only-deps")) | 164 | assert.is.truthy(run.luarocks("build lxsh-0.8.6-2.rockspec --only-deps")) |
137 | assert.is_false(run.luarocks_bool("show lxsh")) | 165 | assert.is_false(run.luarocks_bool("show lxsh")) |
138 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 166 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
139 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 167 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
140 | assert.is_true(os.remove("lxsh-0.8.6-2.rockspec")) | 168 | assert.is_true(os.remove("lxsh-0.8.6-2.rockspec")) |
141 | end) | 169 | end) |
142 | 170 | ||
@@ -144,8 +172,8 @@ describe("LuaRocks build tests #blackbox #b_build", function() | |||
144 | assert.is_true(run.luarocks_bool("download --source lxsh 0.8.6-2")) | 172 | assert.is_true(run.luarocks_bool("download --source lxsh 0.8.6-2")) |
145 | assert.is.truthy(run.luarocks("build lxsh-0.8.6-2.src.rock --only-deps")) | 173 | assert.is.truthy(run.luarocks("build lxsh-0.8.6-2.src.rock --only-deps")) |
146 | assert.is_false(run.luarocks_bool("show lxsh")) | 174 | assert.is_false(run.luarocks_bool("show lxsh")) |
147 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 175 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
148 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 176 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
149 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 177 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) |
150 | end) | 178 | end) |
151 | 179 | ||
@@ -154,19 +182,22 @@ describe("LuaRocks build tests #blackbox #b_build", function() | |||
154 | assert.is_true(run.luarocks_bool("build validate-args-1.5.4-1.rockspec")) | 182 | assert.is_true(run.luarocks_bool("build validate-args-1.5.4-1.rockspec")) |
155 | 183 | ||
156 | assert.is.truthy(run.luarocks("show validate-args")) | 184 | assert.is.truthy(run.luarocks("show validate-args")) |
157 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/validate-args")) | 185 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/validate-args/1.5.4-1/validate-args-1.5.4-1.rockspec")) |
158 | 186 | ||
159 | assert.is_true(os.remove("validate-args-1.5.4-1.rockspec")) | 187 | assert.is_true(os.remove("validate-args-1.5.4-1.rockspec")) |
160 | end) | 188 | end) |
161 | 189 | ||
162 | it("LuaRocks build with https", function() | 190 | it("LuaRocks build with https", function() |
163 | assert.is_true(run.luarocks_bool("download --rockspec validate-args 1.5.4-1")) | 191 | assert.is_true(run.luarocks_bool("download --rockspec validate-args 1.5.4-1")) |
164 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec"))) | 192 | |
193 | if test_env.APPVEYOR then | ||
194 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec " .. test_env.APPVEYOR_OPENSSL))) | ||
195 | else | ||
196 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec"))) | ||
197 | end | ||
165 | assert.is_true(run.luarocks_bool("build validate-args-1.5.4-1.rockspec")) | 198 | assert.is_true(run.luarocks_bool("build validate-args-1.5.4-1.rockspec")) |
166 | |||
167 | assert.is.truthy(run.luarocks("show validate-args")) | 199 | assert.is.truthy(run.luarocks("show validate-args")) |
168 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/validate-args")) | 200 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/validate-args/1.5.4-1/validate-args-1.5.4-1.rockspec")) |
169 | |||
170 | assert.is_true(os.remove("validate-args-1.5.4-1.rockspec")) | 201 | assert.is_true(os.remove("validate-args-1.5.4-1.rockspec")) |
171 | end) | 202 | end) |
172 | 203 | ||
diff --git a/spec/config_spec.lua b/spec/config_spec.lua index 0dee8620..439d0493 100644 --- a/spec/config_spec.lua +++ b/spec/config_spec.lua | |||
@@ -2,6 +2,7 @@ local test_env = require("test/test_environment") | |||
2 | local lfs = require("lfs") | 2 | 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 site_config | 6 | local site_config |
6 | 7 | ||
7 | test_env.unload_luarocks() | 8 | test_env.unload_luarocks() |
@@ -21,12 +22,20 @@ describe("LuaRocks config tests #blackbox #b_config", function() | |||
21 | 22 | ||
22 | it("LuaRocks config include dir", function() | 23 | it("LuaRocks config include dir", function() |
23 | local output = run.luarocks("config --lua-incdir") | 24 | local output = run.luarocks("config --lua-incdir") |
24 | assert.are.same(output, site_config.LUA_INCDIR) | 25 | if test_env.TEST_TARGET_OS == "windows" then |
26 | assert.are.same(output, site_config.LUA_INCDIR:gsub("\\","/")) | ||
27 | else | ||
28 | assert.are.same(output, site_config.LUA_INCDIR) | ||
29 | end | ||
25 | end) | 30 | end) |
26 | 31 | ||
27 | it("LuaRocks config library dir", function() | 32 | it("LuaRocks config library dir", function() |
28 | local output = run.luarocks("config --lua-libdir") | 33 | local output = run.luarocks("config --lua-libdir") |
29 | assert.are.same(output, site_config.LUA_LIBDIR) | 34 | if test_env.TEST_TARGET_OS == "windows" then |
35 | assert.are.same(output, site_config.LUA_LIBDIR:gsub("\\","/")) | ||
36 | else | ||
37 | assert.are.same(output, site_config.LUA_LIBDIR) | ||
38 | end | ||
30 | end) | 39 | end) |
31 | 40 | ||
32 | it("LuaRocks config lua version", function() | 41 | it("LuaRocks config lua version", function() |
@@ -53,38 +62,61 @@ describe("LuaRocks config tests #blackbox #b_config", function() | |||
53 | end) | 62 | end) |
54 | 63 | ||
55 | describe("LuaRocks config - more complex tests", function() | 64 | describe("LuaRocks config - more complex tests", function() |
65 | local scdir = testing_paths.testing_lrprefix .. "/etc/luarocks" | ||
66 | local versioned_scname = scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua" | ||
67 | local scname = scdir .. "/config.lua" | ||
68 | |||
69 | local configfile | ||
70 | if test_env.TEST_TARGET_OS == "windows" then | ||
71 | configfile = versioned_scname | ||
72 | else | ||
73 | configfile = scname | ||
74 | end | ||
75 | |||
56 | it("LuaRocks fail system config", function() | 76 | it("LuaRocks fail system config", function() |
57 | os.remove(testing_paths.testing_lrprefix .. "/etc/luarocks/config.lua") | 77 | os.rename(versioned_scname, versioned_scname .. ".bak") |
58 | assert.is_false(run.luarocks_bool("config --system-config;")) | 78 | assert.is_false(run.luarocks_bool("config --system-config")) |
79 | os.rename(versioned_scname .. ".bak", versioned_scname) | ||
59 | end) | 80 | end) |
60 | 81 | ||
61 | it("LuaRocks system config", function() | 82 | it("LuaRocks system config", function() |
62 | local scdir = testing_paths.testing_lrprefix .. "/etc/luarocks" | ||
63 | lfs.mkdir(testing_paths.testing_lrprefix) | 83 | lfs.mkdir(testing_paths.testing_lrprefix) |
64 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") | 84 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") |
65 | lfs.mkdir(scdir) | 85 | lfs.mkdir(scdir) |
66 | 86 | ||
67 | local sysconfig = io.open(scdir .. "/config.lua", "w+") | 87 | if test_env.TEST_TARGET_OS == "windows" then |
68 | sysconfig:write(" ") | 88 | local output = run.luarocks("config --system-config") |
69 | sysconfig:close() | 89 | assert.are.same(output, versioned_scname) |
70 | 90 | else | |
71 | local output = run.luarocks("config --system-config;") | 91 | sysconfig = io.open(scname, "w+") |
72 | assert.are.same(output, scdir .. "/config.lua") | 92 | sysconfig:write(" ") |
73 | test_env.remove_dir(testing_paths.testing_lrprefix) | 93 | sysconfig:close() |
94 | |||
95 | local output = run.luarocks("config --system-config") | ||
96 | assert.are.same(output, scname) | ||
97 | os.remove(scname) | ||
98 | end | ||
74 | end) | 99 | end) |
75 | 100 | ||
76 | it("LuaRocks fail system config invalid", function() | 101 | it("LuaRocks fail system config invalid", function() |
77 | local scdir = testing_paths.testing_lrprefix .. "/etc/luarocks" | ||
78 | lfs.mkdir(testing_paths.testing_lrprefix) | 102 | lfs.mkdir(testing_paths.testing_lrprefix) |
79 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") | 103 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") |
80 | lfs.mkdir(scdir) | 104 | lfs.mkdir(scdir) |
81 | 105 | ||
82 | local sysconfig = io.open(scdir .. "/config.lua", "w+") | 106 | if test_env.TEST_TARGET_OS == "windows" then |
83 | sysconfig:write("if if if") | 107 | test_env.copy(versioned_scname, "versioned_scname_temp") |
84 | sysconfig:close() | 108 | sysconfig = io.open(versioned_scname, "w+") |
85 | 109 | sysconfig:write("if if if") | |
86 | assert.is_false(run.luarocks_bool("config --system-config;")) | 110 | sysconfig:close() |
87 | test_env.remove_dir(testing_paths.testing_lrprefix) | 111 | assert.is_false(run.luarocks_bool("config --system-config")) |
112 | test_env.copy("versioned_scname_temp", versioned_scname) | ||
113 | else | ||
114 | sysconfig = io.open(scname, "w+") | ||
115 | sysconfig:write("if if if") | ||
116 | sysconfig:close() | ||
117 | assert.is_false(run.luarocks_bool("config --system-config")) | ||
118 | os.remove(scname) | ||
119 | end | ||
88 | end) | 120 | end) |
89 | end) | 121 | end) |
90 | end) | 122 | end) |
diff --git a/spec/deps_spec.lua b/spec/deps_spec.lua index c1bd404d..e453c9a1 100644 --- a/spec/deps_spec.lua +++ b/spec/deps_spec.lua | |||
@@ -8,9 +8,9 @@ test_env.unload_luarocks() | |||
8 | local extra_rocks = { | 8 | local extra_rocks = { |
9 | "/lxsh-0.8.6-2.src.rock", | 9 | "/lxsh-0.8.6-2.src.rock", |
10 | "/lxsh-0.8.6-2.rockspec", | 10 | "/lxsh-0.8.6-2.rockspec", |
11 | "/luasocket-3.0rc1-1.src.rock", | 11 | "/luasocket-3.0rc1-2.src.rock", |
12 | "/luasocket-3.0rc1-1.rockspec", | 12 | "/luasocket-3.0rc1-2.rockspec", |
13 | "/lpeg-0.12-1.src.rock" | 13 | "/lpeg-1.0.0-1.src.rock", |
14 | } | 14 | } |
15 | 15 | ||
16 | describe("LuaRocks deps tests #blackbox #b_deps", function() | 16 | describe("LuaRocks deps tests #blackbox #b_deps", function() |
@@ -23,59 +23,59 @@ describe("LuaRocks deps tests #blackbox #b_deps", 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_tree .. "/lib/luarocks/rocks/lpeg")) | 26 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
27 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 27 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
28 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 28 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
29 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 29 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
30 | end) | 30 | end) |
31 | 31 | ||
32 | it("LuaRocks deps mode order", function() | 32 | it("LuaRocks deps mode 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_tree .. "/lib/luarocks/rocks/lpeg")) | 36 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
38 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 38 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
39 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 39 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
40 | end) | 40 | end) |
41 | 41 | ||
42 | it("LuaRocks deps mode order sys", function() | 42 | it("LuaRocks deps mode 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_tree .. "/lib/luarocks/rocks/lpeg")) | 46 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
47 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 47 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
48 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 48 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
49 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 49 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
50 | end) | 50 | end) |
51 | 51 | ||
52 | it("LuaRocks deps mode all sys", function() | 52 | it("LuaRocks deps mode 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_tree .. "/lib/luarocks/rocks/lpeg")) | 56 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
57 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 57 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
58 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 58 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
59 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 59 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
60 | end) | 60 | end) |
61 | 61 | ||
62 | it("LuaRocks deps mode none", function() | 62 | it("LuaRocks deps mode 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_tree .. "/lib/luarocks/rocks/lpeg")) | 66 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
67 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 67 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
68 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 68 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
69 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 69 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.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_tree .. "/lib/luarocks/rocks/lpeg")) | 75 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
76 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 76 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
77 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 77 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
78 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 78 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
79 | end) | 79 | end) |
80 | 80 | ||
81 | it("LuaRocks deps mode make order", function() | 81 | it("LuaRocks deps mode make order", function() |
@@ -89,10 +89,10 @@ describe("LuaRocks deps tests #blackbox #b_deps", function() | |||
89 | test_env.remove_dir("lxsh-0.8.6-2") | 89 | test_env.remove_dir("lxsh-0.8.6-2") |
90 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 90 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) |
91 | 91 | ||
92 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg")) | 92 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
93 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 93 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
94 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 94 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
95 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 95 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
96 | end) | 96 | end) |
97 | 97 | ||
98 | it("LuaRocks deps mode make order sys", function() | 98 | it("LuaRocks deps mode make order sys", function() |
@@ -106,9 +106,9 @@ describe("LuaRocks deps tests #blackbox #b_deps", function() | |||
106 | test_env.remove_dir("lxsh-0.8.6-2") | 106 | test_env.remove_dir("lxsh-0.8.6-2") |
107 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) | 107 | assert.is_true(os.remove("lxsh-0.8.6-2.src.rock")) |
108 | 108 | ||
109 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg")) | 109 | assert.is.truthy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
110 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg")) | 110 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lpeg/1.0.0-1/lpeg-1.0.0-1.rockspec")) |
111 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh")) | 111 | assert.is.falsy(lfs.attributes(testing_paths.testing_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
112 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 112 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
113 | end) | 113 | end) |
114 | end) | 114 | end) |
diff --git a/spec/install_spec.lua b/spec/install_spec.lua index bd480c21..2b6cb77f 100644 --- a/spec/install_spec.lua +++ b/spec/install_spec.lua | |||
@@ -12,8 +12,8 @@ local extra_rocks = { | |||
12 | "/lpeg-0.12-1.src.rock", | 12 | "/lpeg-0.12-1.src.rock", |
13 | "/luasec-0.6-1.rockspec", | 13 | "/luasec-0.6-1.rockspec", |
14 | "/luassert-1.7.0-1.src.rock", | 14 | "/luassert-1.7.0-1.src.rock", |
15 | "/luasocket-3.0rc1-1.src.rock", | 15 | "/luasocket-3.0rc1-2.src.rock", |
16 | "/luasocket-3.0rc1-1.rockspec", | 16 | "/luasocket-3.0rc1-2.rockspec", |
17 | "/lxsh-0.8.6-2.src.rock", | 17 | "/lxsh-0.8.6-2.src.rock", |
18 | "/lxsh-0.8.6-2.rockspec", | 18 | "/lxsh-0.8.6-2.rockspec", |
19 | "/say-1.2-1.src.rock", | 19 | "/say-1.2-1.src.rock", |
@@ -44,8 +44,8 @@ describe("LuaRocks install tests #blackbox #b_install", function() | |||
44 | assert.is_false(run.luarocks_bool("install \"invalid.rock\" ")) | 44 | assert.is_false(run.luarocks_bool("install \"invalid.rock\" ")) |
45 | end) | 45 | end) |
46 | 46 | ||
47 | it("LuaRocks install with local flag as root", function() | 47 | it("LuaRocks install with local flag as root #unix", function() |
48 | assert.is_false(run.luarocks_bool("install --local luasocket", { USER = "root" } )) | 48 | assert.is_false(run.luarocks_bool("install --local luasocket ", { USER = "root" } )) |
49 | end) | 49 | end) |
50 | 50 | ||
51 | it("LuaRocks install not a zip file", function() | 51 | it("LuaRocks install not a zip file", function() |
@@ -66,14 +66,22 @@ describe("LuaRocks install tests #blackbox #b_install", function() | |||
66 | end) | 66 | end) |
67 | 67 | ||
68 | it("LuaRocks install luasec and show luasocket (dependency)", function() | 68 | it("LuaRocks install luasec and show luasocket (dependency)", function() |
69 | assert.is_true(run.luarocks_bool("install luasec")) | 69 | if test_env.APPVEYOR then |
70 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec " .. test_env.APPVEYOR_OPENSSL))) | ||
71 | else | ||
72 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec"))) | ||
73 | end | ||
70 | assert.is_true(run.luarocks_bool("show luasocket")) | 74 | assert.is_true(run.luarocks_bool("show luasocket")) |
71 | end) | 75 | end) |
72 | end) | 76 | end) |
73 | 77 | ||
74 | describe("LuaRocks install - more complex tests", function() | 78 | describe("LuaRocks install - more complex tests", function() |
75 | it('LuaRocks install luasec with skipping dependency checks', function() | 79 | it('LuaRocks install luasec with skipping dependency checks', function() |
76 | run.luarocks_bool(test_env.quiet(" install luasec --nodeps")) | 80 | if test_env.APPVEYOR then |
81 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec " .. test_env.APPVEYOR_OPENSSL .. " --nodeps"))) | ||
82 | else | ||
83 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec --nodeps"))) | ||
84 | end | ||
77 | assert.is_true(run.luarocks_bool(test_env.quiet("show luasec"))) | 85 | assert.is_true(run.luarocks_bool(test_env.quiet("show luasec"))) |
78 | if env_variables.TYPE_TEST_ENV == "minimal" then | 86 | if env_variables.TYPE_TEST_ENV == "minimal" then |
79 | assert.is_false(run.luarocks_bool(test_env.quiet("show luasocket"))) | 87 | assert.is_false(run.luarocks_bool(test_env.quiet("show luasocket"))) |
@@ -83,17 +91,17 @@ describe("LuaRocks install tests #blackbox #b_install", function() | |||
83 | end) | 91 | end) |
84 | 92 | ||
85 | it("LuaRocks install only-deps of luasocket packed rock", function() | 93 | it("LuaRocks install only-deps of luasocket packed rock", function() |
86 | assert.is_true(run.luarocks_bool(test_env.quiet("build --pack-binary-rock luasocket 3.0rc1-1"))) | 94 | assert.is_true(run.luarocks_bool(test_env.quiet("build --pack-binary-rock luasocket 3.0rc1-2"))) |
87 | local output = run.luarocks("install --only-deps " .. "luasocket-3.0rc1-1." .. test_env.platform .. ".rock") | 95 | local output = run.luarocks("install --only-deps " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock") |
88 | assert.are.same(output, "Successfully installed dependencies for luasocket 3.0rc1-1") | 96 | assert.are.same(output, "Successfully installed dependencies for luasocket 3.0rc1-2") |
89 | assert.is_true(os.remove("luasocket-3.0rc1-1." .. test_env.platform .. ".rock")) | 97 | assert.is_true(os.remove("luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) |
90 | end) | 98 | end) |
91 | 99 | ||
92 | it("LuaRocks install reinstall", function() | 100 | it("LuaRocks install reinstall", function() |
93 | assert.is_true(run.luarocks_bool(test_env.quiet("build --pack-binary-rock luasocket 3.0rc1-1"))) | 101 | assert.is_true(run.luarocks_bool(test_env.quiet("build --pack-binary-rock luasocket 3.0rc1-2"))) |
94 | assert.is_true(run.luarocks_bool("install " .. "luasocket-3.0rc1-1." .. test_env.platform .. ".rock")) | 102 | assert.is_true(run.luarocks_bool("install " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) |
95 | assert.is_true(run.luarocks_bool("install --deps-mode=none " .. "luasocket-3.0rc1-1." .. test_env.platform .. ".rock")) | 103 | assert.is_true(run.luarocks_bool("install --deps-mode=none " .. "luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) |
96 | assert.is_true(os.remove("luasocket-3.0rc1-1." .. test_env.platform .. ".rock")) | 104 | assert.is_true(os.remove("luasocket-3.0rc1-2." .. test_env.platform .. ".rock")) |
97 | end) | 105 | end) |
98 | 106 | ||
99 | it("LuaRocks install binary rock of cprint", function() | 107 | it("LuaRocks install binary rock of cprint", function() |
diff --git a/spec/make_manifest_spec.lua b/spec/make_manifest_spec.lua index 1c7f5bf8..3e998cbf 100644 --- a/spec/make_manifest_spec.lua +++ b/spec/make_manifest_spec.lua | |||
@@ -4,7 +4,7 @@ local run = test_env.run | |||
4 | test_env.unload_luarocks() | 4 | test_env.unload_luarocks() |
5 | 5 | ||
6 | describe("LuaRocks make_manifest tests #blackbox #b_make_manifest", function() | 6 | describe("LuaRocks make_manifest tests #blackbox #b_make_manifest", function() |
7 | 7 | ||
8 | before_each(function() | 8 | before_each(function() |
9 | test_env.setup_specs() | 9 | test_env.setup_specs() |
10 | end) | 10 | end) |
diff --git a/spec/make_spec.lua b/spec/make_spec.lua index e684033a..624badff 100644 --- a/spec/make_spec.lua +++ b/spec/make_spec.lua | |||
@@ -6,9 +6,9 @@ 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 | "/lpeg-0.12-1.src.rock", | 9 | "lpeg-1.0.0-1.rockspec", |
10 | "/luasocket-3.0rc1-1.src.rock", | 10 | "/luasocket-3.0rc1-2.src.rock", |
11 | "/luasocket-3.0rc1-1.rockspec", | 11 | "/luasocket-3.0rc1-2.rockspec", |
12 | "/lxsh-0.8.6-2.src.rock", | 12 | "/lxsh-0.8.6-2.src.rock", |
13 | "/lxsh-0.8.6-2.rockspec" | 13 | "/lxsh-0.8.6-2.rockspec" |
14 | } | 14 | } |
@@ -27,19 +27,19 @@ describe("LuaRocks make tests #blackbox #b_make", function() | |||
27 | 27 | ||
28 | it("LuaRocks make with rockspec", function() | 28 | it("LuaRocks make with rockspec", function() |
29 | -- make luasocket | 29 | -- make luasocket |
30 | assert.is_true(run.luarocks_bool("download --source luasocket 3.0rc1-1")) | 30 | assert.is_true(run.luarocks_bool("download --source luasocket 3.0rc1-2")) |
31 | assert.is_true(run.luarocks_bool("unpack luasocket-3.0rc1-1.src.rock")) | 31 | assert.is_true(run.luarocks_bool("unpack luasocket-3.0rc1-2.src.rock")) |
32 | lfs.chdir("luasocket-3.0rc1-1/luasocket-3.0-rc1/") | 32 | lfs.chdir("luasocket-3.0rc1-2/luasocket-3.0-rc1/") |
33 | assert.is_true(run.luarocks_bool(test_env.quiet("make luasocket-3.0rc1-1.rockspec"))) | 33 | assert.is_true(run.luarocks_bool(test_env.quiet("make luasocket-3.0rc1-2.rockspec"))) |
34 | 34 | ||
35 | -- test it | 35 | -- test it |
36 | assert.is_true(run.luarocks_bool(test_env.quiet("show luasocket"))) | 36 | assert.is_true(run.luarocks_bool(test_env.quiet("show luasocket"))) |
37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasocket")) | 37 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/luasocket/3.0rc1-2/luasocket-3.0rc1-2.rockspec")) |
38 | 38 | ||
39 | -- delete downloaded and unpacked files | 39 | -- delete downloaded and unpacked files |
40 | lfs.chdir(testing_paths.luarocks_dir) | 40 | lfs.chdir(testing_paths.luarocks_dir) |
41 | test_env.remove_dir("luasocket-3.0rc1-1") | 41 | test_env.remove_dir("luasocket-3.0rc1-2") |
42 | assert.is_true(os.remove("luasocket-3.0rc1-1.src.rock")) | 42 | assert.is_true(os.remove("luasocket-3.0rc1-2.src.rock")) |
43 | end) | 43 | end) |
44 | 44 | ||
45 | describe("LuaRocks making rockspecs (using lxsh)", function() | 45 | describe("LuaRocks making rockspecs (using lxsh)", function() |
@@ -61,33 +61,36 @@ describe("LuaRocks make tests #blackbox #b_make", function() | |||
61 | assert.is_true(run.luarocks_bool("new_version lxsh-0.8.6-2.rockspec")) | 61 | assert.is_true(run.luarocks_bool("new_version lxsh-0.8.6-2.rockspec")) |
62 | assert.is_true(run.luarocks_bool("make")) | 62 | assert.is_true(run.luarocks_bool("make")) |
63 | 63 | ||
64 | assert.is_true(run.luarocks_bool(test_env.quiet("show lxsh"))) | 64 | assert.is_true(run.luarocks_bool("show lxsh")) |
65 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 65 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-3/lxsh-0.8.6-3.rockspec")) |
66 | end) | 66 | end) |
67 | 67 | ||
68 | it("LuaRocks make unnamed rockspec", function() | 68 | it("LuaRocks make unnamed rockspec", function() |
69 | os.execute("cp lxsh-0.8.6-2.rockspec rockspec") --rewrite with lfs | 69 | test_env.copy("lxsh-0.8.6-2.rockspec", "rockspec") |
70 | assert.is_true(run.luarocks_bool("make")) | 70 | assert.is_true(run.luarocks_bool("make")) |
71 | 71 | ||
72 | assert.is_true(run.luarocks_bool(test_env.quiet("show lxsh"))) | 72 | assert.is_true(run.luarocks_bool(test_env.quiet("show lxsh"))) |
73 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 73 | assert.is.truthy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
74 | os.remove("rockspec") | ||
74 | end) | 75 | end) |
75 | 76 | ||
76 | it("LuaRocks make ambiguous rockspec", function() | 77 | it("LuaRocks make ambiguous rockspec", function() |
77 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "lxsh2-0.8.6-2.rockspec")) | 78 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "lxsh2-0.8.6-2.rockspec")) |
78 | assert.is_false(run.luarocks_bool("make")) | 79 | local output = run.luarocks("make") |
80 | assert.is.truthy(output:match("Error: Inconsistency between rockspec filename")) | ||
79 | 81 | ||
80 | assert.is_false(run.luarocks_bool("show lxsh")) | 82 | assert.is_false(run.luarocks_bool("show lxsh")) |
81 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 83 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
82 | end) | 84 | end) |
83 | 85 | ||
84 | it("LuaRocks make ambiguous unnamed rockspec", function() | 86 | it("LuaRocks make ambiguous unnamed rockspec", function() |
85 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "1_rockspec")) | 87 | assert.is.truthy(os.rename("lxsh-0.8.6-2.rockspec", "1_rockspec")) |
86 | os.execute("cp 1_rockspec 2_rockspec") --rewrite with lfs | 88 | test_env.copy("1_rockspec", "2_rockspec") |
87 | assert.is_false(run.luarocks_bool("make")) | 89 | local output = run.luarocks("make") |
90 | assert.is.truthy(output:match("Error: Please specify which rockspec file to use")) | ||
88 | 91 | ||
89 | assert.is_false(run.luarocks_bool("show lxsh")) | 92 | assert.is_false(run.luarocks_bool("show lxsh")) |
90 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh")) | 93 | assert.is.falsy(lfs.attributes(testing_paths.testing_sys_tree .. "/lib/luarocks/rocks/lxsh/0.8.6-2/lxsh-0.8.6-2.rockspec")) |
91 | end) | 94 | end) |
92 | 95 | ||
93 | it("LuaRocks make pack binary rock", function() | 96 | it("LuaRocks make pack binary rock", function() |
diff --git a/spec/pack_spec.lua b/spec/pack_spec.lua index 0e5b31c6..21f33b02 100644 --- a/spec/pack_spec.lua +++ b/spec/pack_spec.lua | |||
@@ -6,9 +6,10 @@ 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 | "/luasec-0.6-1.rockspec", | 9 | "/luasec-0.6-1.rockspec", |
10 | "/luasocket-3.0rc1-1.src.rock", | 10 | "/luassert-1.7.0-1.src.rock", |
11 | "/luasocket-3.0rc1-1.rockspec", | 11 | "/luasocket-3.0rc1-2.src.rock", |
12 | "/luasocket-3.0rc1-2.rockspec", | ||
12 | "/say-1.2-1.src.rock", | 13 | "/say-1.2-1.src.rock", |
13 | "/say-1.0-1.src.rock" | 14 | "/say-1.0-1.src.rock" |
14 | } | 15 | } |
@@ -44,14 +45,17 @@ describe("LuaRocks pack tests #blackbox #b_pack", function() | |||
44 | assert.is_true(run.luarocks_bool("install say 1.2")) | 45 | assert.is_true(run.luarocks_bool("install say 1.2")) |
45 | assert.is_true(run.luarocks_bool("install luassert")) | 46 | assert.is_true(run.luarocks_bool("install luassert")) |
46 | assert.is_true(run.luarocks_bool("install say 1.0")) | 47 | assert.is_true(run.luarocks_bool("install say 1.0")) |
47 | |||
48 | assert.is_false(run.luarocks_bool("pack say")) | 48 | assert.is_false(run.luarocks_bool("pack say")) |
49 | end) | 49 | end) |
50 | 50 | ||
51 | it("LuaRocks pack src", function() | 51 | it("LuaRocks pack src", function() |
52 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec"))) | 52 | if test_env.APPVEYOR then |
53 | assert.is_true(run.luarocks_bool("download --rockspec luasocket 3.0rc1-1")) | 53 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec " .. test_env.APPVEYOR_OPENSSL))) |
54 | assert.is_true(run.luarocks_bool("pack luasocket-3.0rc1-1.rockspec")) | 54 | else |
55 | assert.is_true(run.luarocks_bool(test_env.quiet("install luasec"))) | ||
56 | end | ||
57 | assert.is_true(run.luarocks_bool("download --rockspec luasocket 3.0rc1-2")) | ||
58 | assert.is_true(run.luarocks_bool("pack luasocket-3.0rc1-2.rockspec")) | ||
55 | assert.is_true(test_env.remove_files(lfs.currentdir(), "luasocket-")) | 59 | assert.is_true(test_env.remove_files(lfs.currentdir(), "luasocket-")) |
56 | end) | 60 | end) |
57 | end) | 61 | end) |
diff --git a/spec/refresh_cache_spec.lua b/spec/refresh_cache_spec.lua index c20771ab..09f5645e 100644 --- a/spec/refresh_cache_spec.lua +++ b/spec/refresh_cache_spec.lua | |||
@@ -4,7 +4,7 @@ local run = test_env.run | |||
4 | test_env.unload_luarocks() | 4 | test_env.unload_luarocks() |
5 | 5 | ||
6 | describe("LuaRocks refresh_cache tests #blackbox #b_refresh_cache", function() | 6 | describe("LuaRocks refresh_cache tests #blackbox #b_refresh_cache", function() |
7 | 7 | ||
8 | before_each(function() | 8 | before_each(function() |
9 | test_env.setup_specs() | 9 | test_env.setup_specs() |
10 | end) | 10 | end) |
diff --git a/spec/remove_spec.lua b/spec/remove_spec.lua index 7bf1bb10..3d321e30 100644 --- a/spec/remove_spec.lua +++ b/spec/remove_spec.lua | |||
@@ -8,8 +8,8 @@ test_env.unload_luarocks() | |||
8 | local extra_rocks = { | 8 | local extra_rocks = { |
9 | "/abelhas-1.0-1.rockspec", | 9 | "/abelhas-1.0-1.rockspec", |
10 | "/lualogging-1.3.0-1.src.rock", | 10 | "/lualogging-1.3.0-1.src.rock", |
11 | "/luasocket-3.0rc1-1.src.rock", | 11 | "/luasocket-3.0rc1-2.src.rock", |
12 | "/luasocket-3.0rc1-1.rockspec" | 12 | "/luasocket-3.0rc1-2.rockspec" |
13 | } | 13 | } |
14 | 14 | ||
15 | describe("LuaRocks remove tests #blackbox #b_remove", function() | 15 | describe("LuaRocks remove tests #blackbox #b_remove", function() |
@@ -76,7 +76,7 @@ describe("LuaRocks remove tests #blackbox #b_remove", function() | |||
76 | end) | 76 | end) |
77 | 77 | ||
78 | it("LuaRocks-admin remove #ssh", function() | 78 | it("LuaRocks-admin remove #ssh", function() |
79 | assert.is_true(run.luarocks_admin_bool("--server=testing remove luasocket-3.0rc1-1.src.rock")) | 79 | assert.is_true(run.luarocks_admin_bool("--server=testing remove luasocket-3.0rc1-2.src.rock")) |
80 | end) | 80 | end) |
81 | 81 | ||
82 | it("LuaRocks-admin remove missing", function() | 82 | it("LuaRocks-admin remove missing", function() |
diff --git a/spec/search_spec.lua b/spec/search_spec.lua index b31624b8..f75bc3c1 100644 --- a/spec/search_spec.lua +++ b/spec/search_spec.lua | |||
@@ -32,5 +32,4 @@ describe("LuaRocks search tests #blackbox #b_search", function() | |||
32 | it("LuaRocks search with flag all", function() | 32 | it("LuaRocks search with flag all", function() |
33 | assert.is_true(run.luarocks_bool(test_env.quiet("search --all"))) | 33 | assert.is_true(run.luarocks_bool(test_env.quiet("search --all"))) |
34 | end) | 34 | end) |
35 | |||
36 | end) | 35 | end) |
diff --git a/spec/show_spec.lua b/spec/show_spec.lua index f528a6de..915129ae 100644 --- a/spec/show_spec.lua +++ b/spec/show_spec.lua | |||
@@ -20,10 +20,12 @@ describe("LuaRocks show tests #blackbox #b_show", function() | |||
20 | 20 | ||
21 | it("LuaRocks show luacov", function() | 21 | it("LuaRocks show luacov", function() |
22 | local output = run.luarocks("show luacov") | 22 | local output = run.luarocks("show luacov") |
23 | assert.is.truthy(output:match("LuaCov")) | ||
23 | end) | 24 | end) |
24 | 25 | ||
25 | it("LuaRocks show modules of luacov", function() | 26 | it("LuaRocks show modules of luacov", function() |
26 | local output = run.luarocks("show --modules luacov") | 27 | local output = run.luarocks("show --modules luacov") |
28 | assert.is.truthy(output:match("luacovluacov.defaultsluacov.reporterluacov.reporter.defaultluacov.runnerluacov.statsluacov.tick")) | ||
27 | end) | 29 | end) |
28 | 30 | ||
29 | it("LuaRocks show dependencies of luacov", function() | 31 | it("LuaRocks show dependencies of luacov", function() |
@@ -32,10 +34,12 @@ describe("LuaRocks show tests #blackbox #b_show", function() | |||
32 | 34 | ||
33 | it("LuaRocks show rockspec of luacov", function() | 35 | it("LuaRocks show rockspec of luacov", function() |
34 | local output = run.luarocks("show --rockspec luacov") | 36 | local output = run.luarocks("show --rockspec luacov") |
37 | assert.is.truthy(output:match("luacov-0.11.0-1.rockspec")) | ||
35 | end) | 38 | end) |
36 | 39 | ||
37 | it("LuaRocks show mversion of luacov", function() | 40 | it("LuaRocks show mversion of luacov", function() |
38 | local output = run.luarocks("show --mversion luacov") | 41 | local output = run.luarocks("show --mversion luacov") |
42 | assert.is.truthy(output:match("0.11.0--1")) | ||
39 | end) | 43 | end) |
40 | 44 | ||
41 | it("LuaRocks show rock tree of luacov", function() | 45 | it("LuaRocks show rock tree of luacov", function() |
@@ -49,6 +53,6 @@ describe("LuaRocks show tests #blackbox #b_show", function() | |||
49 | 53 | ||
50 | it("LuaRocks show old version of luacov", function() | 54 | it("LuaRocks show old version of luacov", function() |
51 | run.luarocks("install luacov 0.11.0") | 55 | run.luarocks("install luacov 0.11.0") |
52 | run.luarocks("show luacov 0.11.0") | 56 | run.luarocks_bool("show luacov 0.11.0") |
53 | end) | 57 | end) |
54 | end) | 58 | end) |
diff --git a/spec/unpack_spec.lua b/spec/unpack_spec.lua index 8db779c3..220ef00d 100644 --- a/spec/unpack_spec.lua +++ b/spec/unpack_spec.lua | |||
@@ -1,14 +1,12 @@ | |||
1 | local test_env = require("test/test_environment") | 1 | local test_env = require("test/test_environment") |
2 | local run = test_env.run | 2 | local run = test_env.run |
3 | local testing_paths = test_env.testing_paths | 3 | local testing_paths = test_env.testing_paths |
4 | local lfs = require("lfs") | ||
5 | 4 | ||
6 | test_env.unload_luarocks() | 5 | test_env.unload_luarocks() |
7 | 6 | ||
8 | local extra_rocks = { | 7 | local extra_rocks = { |
9 | "/cprint-0.1-2.src.rock", | 8 | "/cprint-0.1-2.src.rock", |
10 | "/cprint-0.1-2.rockspec", | 9 | "/cprint-0.1-2.rockspec" |
11 | "/luazip-1.2.4-1.rockspec" | ||
12 | } | 10 | } |
13 | 11 | ||
14 | describe("LuaRocks unpack tests #blackbox #b_unpack", function() | 12 | describe("LuaRocks unpack tests #blackbox #b_unpack", function() |
@@ -21,9 +19,11 @@ describe("LuaRocks unpack tests #blackbox #b_unpack", function() | |||
21 | it("LuaRocks unpack with no flags/arguments", function() | 19 | it("LuaRocks unpack with no flags/arguments", function() |
22 | assert.is_false(run.luarocks_bool("unpack")) | 20 | assert.is_false(run.luarocks_bool("unpack")) |
23 | end) | 21 | end) |
22 | |||
24 | it("LuaRocks unpack with invalid rockspec", function() | 23 | it("LuaRocks unpack with invalid rockspec", function() |
25 | assert.is_false(run.luarocks_bool("unpack invalid.rockspec")) | 24 | assert.is_false(run.luarocks_bool("unpack invalid.rockspec")) |
26 | end) | 25 | end) |
26 | |||
27 | it("LuaRocks unpack with invalid patch", function() | 27 | it("LuaRocks unpack with invalid patch", function() |
28 | assert.is_false(run.luarocks_bool("unpack " .. testing_paths.testing_dir .. "/testfiles/invalid_patch-0.1-1.rockspec")) | 28 | assert.is_false(run.luarocks_bool("unpack " .. testing_paths.testing_dir .. "/testfiles/invalid_patch-0.1-1.rockspec")) |
29 | end) | 29 | end) |
@@ -34,26 +34,22 @@ describe("LuaRocks unpack tests #blackbox #b_unpack", function() | |||
34 | assert.is_true(run.luarocks_bool("unpack cprint")) | 34 | assert.is_true(run.luarocks_bool("unpack cprint")) |
35 | test_env.remove_dir("cprint-0.1-2") | 35 | test_env.remove_dir("cprint-0.1-2") |
36 | end) | 36 | end) |
37 | |||
37 | it("LuaRocks unpack src", function() | 38 | it("LuaRocks unpack src", function() |
38 | assert.is_true(run.luarocks_bool("download --source cprint")) | 39 | assert.is_true(run.luarocks_bool("download --source cprint")) |
39 | assert.is_true(run.luarocks_bool("unpack cprint-0.1-2.src.rock")) | 40 | assert.is_true(run.luarocks_bool("unpack cprint-0.1-2.src.rock")) |
40 | os.remove("cprint-0.1-2.src.rock") | 41 | os.remove("cprint-0.1-2.src.rock") |
41 | test_env.remove_dir("cprint-0.1-2") | 42 | test_env.remove_dir("cprint-0.1-2") |
42 | end) | 43 | end) |
43 | it("LuaRocks unpack rockspec", function() | 44 | |
45 | it("LuaRocks unpack src", function() | ||
44 | assert.is_true(run.luarocks_bool("download --rockspec cprint")) | 46 | assert.is_true(run.luarocks_bool("download --rockspec cprint")) |
45 | assert.is_true(run.luarocks_bool("unpack cprint-0.1-2.rockspec")) | 47 | assert.is_true(run.luarocks_bool("unpack cprint-0.1-2.rockspec")) |
46 | os.remove("cprint-0.1-2.rockspec") | 48 | os.remove("cprint-0.1-2.rockspec") |
47 | os.remove("lua-cprint") | 49 | os.remove("lua-cprint") |
48 | test_env.remove_dir("cprint-0.1-2") | 50 | test_env.remove_dir("cprint-0.1-2") |
49 | end) | 51 | end) |
50 | -- #595 luarocks unpack of a git:// rockspec fails to copy the rockspec | 52 | |
51 | it("LuaRocks unpack git:// rockspec", function() | ||
52 | assert.is_true(run.luarocks_bool("download --rockspec luazip")) | ||
53 | assert.is_true(run.luarocks_bool("unpack luazip-1.2.4-1.rockspec")) | ||
54 | assert.is_truthy(lfs.attributes("luazip-1.2.4-1/luazip/luazip-1.2.4-1.rockspec")) | ||
55 | test_env.remove_dir("luazip-1.2.4-1") | ||
56 | end) | ||
57 | it("LuaRocks unpack binary", function() | 53 | it("LuaRocks unpack binary", function() |
58 | assert.is_true(run.luarocks_bool("build cprint")) | 54 | assert.is_true(run.luarocks_bool("build cprint")) |
59 | assert.is_true(run.luarocks_bool("pack cprint")) | 55 | assert.is_true(run.luarocks_bool("pack cprint")) |
diff --git a/spec/upload_spec.lua b/spec/upload_spec.lua index c68a1cdf..af4c36d3 100644 --- a/spec/upload_spec.lua +++ b/spec/upload_spec.lua | |||
@@ -45,7 +45,7 @@ describe("LuaRocks upload tests #blackbox #b_upload", function() | |||
45 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --skip-pack luacov-0.11.0-1.rockspec")) | 45 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --skip-pack luacov-0.11.0-1.rockspec")) |
46 | end) | 46 | end) |
47 | 47 | ||
48 | it("LuaRocks upload force", function() | 48 | it("LuaRocks upload force #unix", function() |
49 | assert.is_true(run.luarocks_bool("install lua-cjson")) | 49 | assert.is_true(run.luarocks_bool("install lua-cjson")) |
50 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --force luacov-0.11.0-1.rockspec")) | 50 | assert.is_false(run.luarocks_bool("upload --api-key=\"invalid\" --force luacov-0.11.0-1.rockspec")) |
51 | assert.is_true(run.luarocks_bool("install lua-cjson")) | 51 | assert.is_true(run.luarocks_bool("install lua-cjson")) |
@@ -63,10 +63,18 @@ describe("LuaRocks upload tests #blackbox #b_upload", function() | |||
63 | end) | 63 | end) |
64 | 64 | ||
65 | it("LuaRocks upload rockspec with api-key", function() | 65 | it("LuaRocks upload rockspec with api-key", function() |
66 | assert.is_true(run.luarocks_bool("upload " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | 66 | if test_env.APPVEYOR then |
67 | assert.is_true(run.luarocks_bool("upload " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec " .. test_env.APPVEYOR_OPENSSL .. " --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | ||
68 | else | ||
69 | assert.is_true(run.luarocks_bool("upload " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | ||
70 | end | ||
67 | end) | 71 | end) |
68 | it("LuaRocks upload rockspec with api-key and skip-pack", function() | 72 | it("LuaRocks upload rockspec with api-key and skip-pack", function() |
69 | assert.is_true(run.luarocks_bool("upload --skip-pack " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | 73 | if test_env.APPVEYOR then |
74 | assert.is_true(run.luarocks_bool("upload --skip-pack " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec " .. test_env.APPVEYOR_OPENSSL .. " --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | ||
75 | else | ||
76 | assert.is_true(run.luarocks_bool("upload --skip-pack " .. testing_paths.testing_server .. "/luasocket-3.0rc1-2.rockspec --api-key=123", {LUAROCKS_CONFIG = testing_paths.testing_dir .. "/luarocks_site.lua"})) | ||
77 | end | ||
70 | end) | 78 | end) |
71 | end) | 79 | end) |
72 | end) | 80 | end) |
diff --git a/spec/util_spec.lua b/spec/util_spec.lua index 23e3ebd8..e6776e4b 100644 --- a/spec/util_spec.lua +++ b/spec/util_spec.lua | |||
@@ -27,7 +27,7 @@ describe("Basic tests #blackbox #b_util", function() | |||
27 | assert.is_false(run.luarocks_bool("invalid=5")) | 27 | assert.is_false(run.luarocks_bool("invalid=5")) |
28 | end) | 28 | end) |
29 | 29 | ||
30 | it("LuaRocks execute from not existing directory", function() | 30 | it("LuaRocks execute from not existing directory #unix", function() |
31 | local main_path = lfs.currentdir() | 31 | local main_path = lfs.currentdir() |
32 | assert.is_true(lfs.mkdir("idontexist")) | 32 | assert.is_true(lfs.mkdir("idontexist")) |
33 | assert.is_true(lfs.chdir("idontexist")) | 33 | assert.is_true(lfs.chdir("idontexist")) |
@@ -66,34 +66,53 @@ describe("Basic tests #blackbox #b_util", function() | |||
66 | assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua")) | 66 | assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua")) |
67 | end) | 67 | end) |
68 | 68 | ||
69 | describe("LuaRocks sysconfig fails", function() | 69 | -- Disable versioned config temporarily, because it always takes |
70 | local scdir = "" | 70 | -- precedence over config.lua (config-5.x.lua is installed by default on Windows, |
71 | 71 | -- but not on Unix, so on Unix the os.rename commands below will fail silently, but this is harmless) | |
72 | before_each(function() | 72 | describe("LuaRocks config - more complex tests", function() |
73 | scdir = testing_paths.testing_lrprefix .. "/etc/luarocks/" | 73 | local scdir = testing_paths.testing_lrprefix .. "/etc/luarocks" |
74 | local versioned_scname = scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua" | ||
75 | local scname = scdir .. "/config.lua" | ||
76 | |||
77 | local configfile | ||
78 | if test_env.TEST_TARGET_OS == "windows" then | ||
79 | configfile = versioned_scname | ||
80 | else | ||
81 | configfile = scname | ||
82 | end | ||
83 | |||
84 | it("LuaRocks fail system config", function() | ||
85 | os.rename(versioned_scname, versioned_scname .. "bak") | ||
86 | local ok = run.luarocks_bool("config --system-config") | ||
87 | os.rename(versioned_scname .. ".bak", versioned_scname) | ||
88 | assert.is_false(ok) | ||
89 | end) | ||
90 | |||
91 | it("LuaRocks system config", function() | ||
74 | lfs.mkdir(testing_paths.testing_lrprefix) | 92 | lfs.mkdir(testing_paths.testing_lrprefix) |
75 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") | 93 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") |
76 | lfs.mkdir(scdir) | 94 | lfs.mkdir(scdir) |
77 | end) | ||
78 | |||
79 | after_each(function() | ||
80 | test_env.remove_dir(testing_paths.testing_lrprefix) | ||
81 | end) | ||
82 | 95 | ||
83 | it("LuaRocks sysconfig fail", function() | 96 | local sysconfig = io.open(configfile, "w+") |
84 | local sysconfig = io.open(scdir .. "/config.lua", "w+") | 97 | sysconfig:write(" ") |
85 | sysconfig:write("aoeui") | ||
86 | sysconfig:close() | 98 | sysconfig:close() |
87 | 99 | ||
88 | assert.is_false(run.luarocks_bool("list")) | 100 | local output = run.luarocks("config --system-config") |
101 | os.remove(configfile) | ||
102 | assert.are.same(output, configfile) | ||
89 | end) | 103 | end) |
90 | 104 | ||
91 | it("LuaRocks sysconfig fail", function() | 105 | it("LuaRocks fail system config invalid", function() |
92 | local sysconfig = io.open(scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua", "w+") | 106 | lfs.mkdir(testing_paths.testing_lrprefix) |
93 | sysconfig:write("aoeui") | 107 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") |
94 | sysconfig:close() | 108 | lfs.mkdir(scdir) |
95 | 109 | ||
96 | assert.is_false(run.luarocks_bool("list")) | 110 | local sysconfig = io.open(configfile, "w+") |
111 | sysconfig:write("if if if") | ||
112 | sysconfig:close() | ||
113 | local ok = run.luarocks_bool("config --system-config") | ||
114 | os.remove(configfile) | ||
115 | assert.is_false(ok) | ||
97 | end) | 116 | end) |
98 | end) | 117 | end) |
99 | end) | 118 | end) |
diff --git a/test/test_environment.lua b/test/test_environment.lua index 13e548f9..42473b38 100644 --- a/test/test_environment.lua +++ b/test/test_environment.lua | |||
@@ -17,6 +17,7 @@ ARGUMENTS | |||
17 | noreset Don't reset environment after each test | 17 | noreset Don't reset environment after each test |
18 | clean Remove existing testing environment. | 18 | clean Remove existing testing environment. |
19 | travis Add if running on TravisCI. | 19 | travis Add if running on TravisCI. |
20 | appveyor Add if running on Appveyor. | ||
20 | os=<type> Set OS ("linux", "osx", or "windows"). | 21 | os=<type> Set OS ("linux", "osx", or "windows"). |
21 | ]] | 22 | ]] |
22 | 23 | ||
@@ -36,18 +37,54 @@ local function exists(path) | |||
36 | return lfs.attributes(path, "mode") ~= nil | 37 | return lfs.attributes(path, "mode") ~= nil |
37 | end | 38 | end |
38 | 39 | ||
39 | function test_env.quiet(commad) | 40 | --- Quote argument for shell processing. Fixes paths on Windows. |
41 | -- Adds double quotes and escapes. Based on function in fs/win32.lua. | ||
42 | -- @param arg string: Unquoted argument. | ||
43 | -- @return string: Quoted argument. | ||
44 | local function Q(arg) | ||
45 | if test_env.TEST_TARGET_OS == "windows" then | ||
46 | local drive_letter = "[%.a-zA-Z]?:?[\\/]" | ||
47 | -- Quote DIR for Windows | ||
48 | if arg:match("^"..drive_letter) then | ||
49 | arg = arg:gsub("/", "\\") | ||
50 | end | ||
51 | |||
52 | if arg == "\\" then | ||
53 | return '\\' -- CHDIR needs special handling for root dir | ||
54 | end | ||
55 | |||
56 | return '"' .. arg .. '"' | ||
57 | else | ||
58 | return "'" .. arg:gsub("'", "'\\''") .. "'" | ||
59 | end | ||
60 | end | ||
61 | |||
62 | function test_env.quiet(command) | ||
40 | if not test_env.VERBOSE then | 63 | if not test_env.VERBOSE then |
41 | if test_env.TEST_TARGET_OS == "linux" or test_env.TEST_TARGET_OS == "osx" then | 64 | if test_env.TEST_TARGET_OS == "windows" then |
42 | return commad .. " 1> /dev/null 2> /dev/null" | 65 | return command .. " 1> NUL 2> NUL" |
43 | elseif test_env.TEST_TARGET_OS == "windows" then | 66 | else |
44 | return commad .. " 2> NUL 1> NUL" | 67 | return command .. " 1> /dev/null 2> /dev/null" |
45 | end | 68 | end |
46 | else | 69 | else |
47 | return command | 70 | return command |
48 | end | 71 | end |
49 | end | 72 | end |
50 | 73 | ||
74 | function test_env.copy(source, destination) | ||
75 | local r_source, err = io.open(source, "r") | ||
76 | local r_destination, err = io.open(destination, "w") | ||
77 | |||
78 | while true do | ||
79 | local block = r_source:read(8192) | ||
80 | if not block then break end | ||
81 | r_destination:write(block) | ||
82 | end | ||
83 | |||
84 | r_source:close() | ||
85 | r_destination:close() | ||
86 | end | ||
87 | |||
51 | --- Helper function for execute_bool and execute_output | 88 | --- Helper function for execute_bool and execute_output |
52 | -- @param command string: command to execute | 89 | -- @param command string: command to execute |
53 | -- @param print_command boolean: print command if 'true' | 90 | -- @param print_command boolean: print command if 'true' |
@@ -61,15 +98,22 @@ function test_env.execute_helper(command, print_command, env_variables) | |||
61 | end | 98 | end |
62 | 99 | ||
63 | if env_variables then | 100 | if env_variables then |
64 | final_command = "export " | 101 | if test_env.TEST_TARGET_OS == "windows" then |
65 | for k,v in pairs(env_variables) do | 102 | for k,v in pairs(env_variables) do |
66 | final_command = final_command .. k .. "='" .. v .. "' " | 103 | final_command = final_command .. "set " .. k .. "=" .. v .. "&" |
104 | end | ||
105 | final_command = final_command:sub(1, -2) .. "&" | ||
106 | else | ||
107 | final_command = "export " | ||
108 | for k,v in pairs(env_variables) do | ||
109 | final_command = final_command .. k .. "='" .. v .. "' " | ||
110 | end | ||
111 | -- remove last space and add ';' to separate exporting variables from command | ||
112 | final_command = final_command:sub(1, -2) .. "; " | ||
67 | end | 113 | end |
68 | -- remove last space and add ';' to separate exporting variables from command | ||
69 | final_command = final_command:sub(1, -2) .. "; " | ||
70 | end | 114 | end |
71 | 115 | ||
72 | final_command = final_command .. command | 116 | final_command = final_command .. command .. " 2>&1" |
73 | 117 | ||
74 | return final_command | 118 | return final_command |
75 | end | 119 | end |
@@ -122,6 +166,9 @@ function test_env.set_args() | |||
122 | test_env.VERBOSE = true | 166 | test_env.VERBOSE = true |
123 | elseif argument == "travis" then | 167 | elseif argument == "travis" then |
124 | test_env.TRAVIS = true | 168 | test_env.TRAVIS = true |
169 | elseif argument == "appveyor" then | ||
170 | test_env.APPVEYOR = true | ||
171 | test_env.APPVEYOR_OPENSSL = "OPENSSL_LIBDIR=C:\\OpenSSL-Win32\\lib OPENSSL_INCDIR=C:\\OpenSSL-Win32\\include" | ||
125 | elseif argument:find("^os=") then | 172 | elseif argument:find("^os=") then |
126 | test_env.TEST_TARGET_OS = argument:match("^os=(.*)$") | 173 | test_env.TEST_TARGET_OS = argument:match("^os=(.*)$") |
127 | else | 174 | else |
@@ -143,6 +190,15 @@ function test_env.set_args() | |||
143 | return true | 190 | return true |
144 | end | 191 | end |
145 | 192 | ||
193 | local function copy_dir(source_path, target_path) | ||
194 | local testing_paths = test_env.testing_paths | ||
195 | if test_env.TEST_TARGET_OS == "windows" then | ||
196 | execute_bool(testing_paths.win_tools .. "/cp -R ".. source_path .. "/. " .. target_path) | ||
197 | else | ||
198 | execute_bool("cp -a ".. source_path .. "/. " .. target_path) | ||
199 | end | ||
200 | end | ||
201 | |||
146 | --- Remove directory recursively | 202 | --- Remove directory recursively |
147 | -- @param path string: directory path to delete | 203 | -- @param path string: directory path to delete |
148 | function test_env.remove_dir(path) | 204 | function test_env.remove_dir(path) |
@@ -159,7 +215,7 @@ function test_env.remove_dir(path) | |||
159 | end | 215 | end |
160 | end | 216 | end |
161 | end | 217 | end |
162 | os.remove(path) | 218 | lfs.rmdir(path) |
163 | end | 219 | end |
164 | 220 | ||
165 | --- Remove subdirectories of a directory that match a pattern | 221 | --- Remove subdirectories of a directory that match a pattern |
@@ -205,13 +261,17 @@ end | |||
205 | -- @param save_path string: path to directory, where to download rocks/rockspecs | 261 | -- @param save_path string: path to directory, where to download rocks/rockspecs |
206 | -- @return make_manifest boolean: true if new rocks downloaded | 262 | -- @return make_manifest boolean: true if new rocks downloaded |
207 | local function download_rocks(urls, save_path) | 263 | local function download_rocks(urls, save_path) |
208 | local luarocks_repo = "https://luarocks.org" | 264 | local luarocks_repo = "https://www.luarocks.org" |
209 | local make_manifest = false | 265 | local make_manifest = false |
210 | 266 | ||
211 | for _, url in ipairs(urls) do | 267 | for _, url in ipairs(urls) do |
212 | -- check if already downloaded | 268 | -- check if already downloaded |
213 | if not exists(save_path .. url) then | 269 | if not exists(save_path .. url) then |
214 | execute_bool("wget -cP " .. save_path .. " " .. luarocks_repo .. url) | 270 | if test_env.TEST_TARGET_OS == "windows" then |
271 | execute_bool(test_env.testing_paths.win_tools .. "/wget -cP " .. save_path .. " " .. luarocks_repo .. url .. " --no-check-certificate") | ||
272 | else | ||
273 | execute_bool("wget -cP " .. save_path .. " " .. luarocks_repo .. url) | ||
274 | end | ||
215 | make_manifest = true | 275 | make_manifest = true |
216 | end | 276 | end |
217 | end | 277 | end |
@@ -235,9 +295,9 @@ local function hash_environment(path) | |||
235 | return execute_output("find " .. path .. " -printf \"%s %p\n\" | md5sum") | 295 | return execute_output("find " .. path .. " -printf \"%s %p\n\" | md5sum") |
236 | elseif test_env.TEST_TARGET_OS == "osx" then | 296 | elseif test_env.TEST_TARGET_OS == "osx" then |
237 | return execute_output("find " .. path .. " -type f -exec stat -f \"%z %N\" {} \\; | md5") | 297 | return execute_output("find " .. path .. " -type f -exec stat -f \"%z %N\" {} \\; | md5") |
238 | else | 298 | elseif test_env.TEST_TARGET_OS == "windows" then |
239 | -- TODO: Windows | 299 | return execute_output("\"" .. Q(test_env.testing_paths.win_tools .. "/find") .. " " .. Q(path) |
240 | return "" | 300 | .. " -printf \"%s %p\"\" > temp_sum.txt && certUtil -hashfile temp_sum.txt && del temp_sum.txt") |
241 | end | 301 | end |
242 | end | 302 | end |
243 | 303 | ||
@@ -278,13 +338,17 @@ local function create_md5sums(testing_paths) | |||
278 | end | 338 | end |
279 | 339 | ||
280 | local function make_run_function(cmd_name, exec_function, with_coverage, do_print) | 340 | local function make_run_function(cmd_name, exec_function, with_coverage, do_print) |
281 | local cmd_prefix = test_env.testing_paths.lua .. " " | 341 | local cmd_prefix = Q(test_env.testing_paths.lua) .. " " |
282 | 342 | ||
283 | if with_coverage then | 343 | if with_coverage then |
284 | cmd_prefix = cmd_prefix .. "-e \"require('luacov.runner')('" .. test_env.testing_paths.testing_dir .. "/luacov.config')\" " | 344 | cmd_prefix = cmd_prefix .. "-e \"require('luacov.runner')('" .. test_env.testing_paths.testing_dir .. "/luacov.config')\" " |
285 | end | 345 | end |
286 | 346 | ||
287 | cmd_prefix = cmd_prefix .. test_env.testing_paths.src_dir .. "/bin/" .. cmd_name .. " " | 347 | if test_env.TEST_TARGET_OS == "windows" then |
348 | cmd_prefix = cmd_prefix .. Q(test_env.testing_paths.testing_lrprefix .. "/" .. cmd_name .. ".lua") .. " " | ||
349 | else | ||
350 | cmd_prefix = cmd_prefix .. test_env.testing_paths.src_dir .. "/bin/" .. cmd_name .. " " | ||
351 | end | ||
288 | 352 | ||
289 | return function(cmd, new_vars) | 353 | return function(cmd, new_vars) |
290 | local temp_vars = {} | 354 | local temp_vars = {} |
@@ -327,19 +391,23 @@ local function build_environment(rocks, env_variables) | |||
327 | lfs.mkdir(testing_paths.testing_tree) | 391 | lfs.mkdir(testing_paths.testing_tree) |
328 | lfs.mkdir(testing_paths.testing_sys_tree) | 392 | lfs.mkdir(testing_paths.testing_sys_tree) |
329 | 393 | ||
330 | test_env.run.luarocks_admin_nocov("make_manifest " .. testing_paths.testing_server) | 394 | test_env.run.luarocks_admin_nocov("make_manifest " .. Q(testing_paths.testing_server)) |
331 | test_env.run.luarocks_admin_nocov("make_manifest " .. testing_paths.testing_cache) | 395 | test_env.run.luarocks_admin_nocov("make_manifest " .. Q(testing_paths.testing_cache)) |
332 | 396 | ||
333 | for _, rock in ipairs(rocks) do | 397 | for _, rock in ipairs(rocks) do |
334 | if not test_env.run.luarocks_nocov("install --only-server=" .. testing_paths.testing_cache .. " --tree=" .. testing_paths.testing_sys_tree .. " " .. rock, env_variables) then | 398 | 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 |
335 | test_env.run.luarocks_nocov("build --tree=" .. testing_paths.testing_sys_tree .. " " .. rock, env_variables) | 399 | test_env.run.luarocks_nocov("build --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock) .. "", env_variables) |
336 | test_env.run.luarocks_nocov("pack --tree=" .. testing_paths.testing_sys_tree .. " " .. rock, env_variables) | 400 | test_env.run.luarocks_nocov("pack --tree=" .. Q(testing_paths.testing_sys_tree) .. " " .. Q(rock), env_variables) |
337 | execute_bool("mv " .. rock .. "-*.rock " .. testing_paths.testing_cache) | 401 | if test_env.TEST_TARGET_OS == "windows" then |
402 | execute_bool(testing_paths.win_tools .. "/mv " .. rock .. "-*.rock " .. testing_paths.testing_cache) | ||
403 | else | ||
404 | execute_bool("mv " .. rock .. "-*.rock " .. testing_paths.testing_cache) | ||
405 | end | ||
338 | end | 406 | end |
339 | end | 407 | end |
340 | 408 | ||
341 | execute_bool("cp -a " .. testing_paths.testing_tree .. "/. " .. testing_paths.testing_tree_copy) | 409 | copy_dir(testing_paths.testing_tree, testing_paths.testing_tree_copy) |
342 | execute_bool("cp -a " .. testing_paths.testing_sys_tree .. "/. " .. testing_paths.testing_sys_tree_copy) | 410 | copy_dir(testing_paths.testing_sys_tree, testing_paths.testing_sys_tree_copy) |
343 | end | 411 | end |
344 | 412 | ||
345 | --- Reset testing environment | 413 | --- Reset testing environment |
@@ -349,14 +417,13 @@ local function reset_environment(testing_paths, md5sums) | |||
349 | 417 | ||
350 | if testing_tree_md5 ~= md5sums.testing_tree_copy_md5 then | 418 | if testing_tree_md5 ~= md5sums.testing_tree_copy_md5 then |
351 | test_env.remove_dir(testing_paths.testing_tree) | 419 | test_env.remove_dir(testing_paths.testing_tree) |
352 | execute_bool("cp -a " .. testing_paths.testing_tree_copy .. "/. " .. testing_paths.testing_tree) | 420 | copy_dir(testing_paths.testing_tree_copy, testing_paths.testing_tree) |
353 | end | 421 | end |
354 | 422 | ||
355 | if testing_sys_tree_md5 ~= md5sums.testing_sys_tree_copy_md5 then | 423 | if testing_sys_tree_md5 ~= md5sums.testing_sys_tree_copy_md5 then |
356 | test_env.remove_dir(testing_paths.testing_sys_tree) | 424 | test_env.remove_dir(testing_paths.testing_sys_tree) |
357 | execute_bool("cp -a " .. testing_paths.testing_sys_tree_copy .. "/. " .. testing_paths.testing_sys_tree) | 425 | copy_dir(testing_paths.testing_sys_tree_copy, testing_paths.testing_sys_tree) |
358 | end | 426 | end |
359 | |||
360 | print("\n[ENVIRONMENT RESET]") | 427 | print("\n[ENVIRONMENT RESET]") |
361 | end | 428 | end |
362 | 429 | ||
@@ -367,9 +434,18 @@ local function create_paths(luaversion_full) | |||
367 | testing_paths.luadir = cfg.variables.LUA_BINDIR:gsub("/bin/?$", "") | 434 | testing_paths.luadir = cfg.variables.LUA_BINDIR:gsub("/bin/?$", "") |
368 | testing_paths.lua = cfg.variables.LUA_BINDIR .. "/" .. cfg.lua_interpreter | 435 | testing_paths.lua = cfg.variables.LUA_BINDIR .. "/" .. cfg.lua_interpreter |
369 | 436 | ||
370 | testing_paths.luarocks_tmp = "/tmp/luarocks_testing" --windows? | 437 | if test_env.TEST_TARGET_OS == "windows" then |
438 | testing_paths.luarocks_tmp = os.getenv("TEMP") | ||
439 | else | ||
440 | testing_paths.luarocks_tmp = "/tmp/luarocks_testing" | ||
441 | end | ||
371 | 442 | ||
372 | testing_paths.luarocks_dir = lfs.currentdir() | 443 | testing_paths.luarocks_dir = lfs.currentdir() |
444 | |||
445 | if test_env.TEST_TARGET_OS == "windows" then | ||
446 | testing_paths.luarocks_dir = testing_paths.luarocks_dir:gsub("\\","/") | ||
447 | end | ||
448 | |||
373 | testing_paths.testing_dir = testing_paths.luarocks_dir .. "/test" | 449 | testing_paths.testing_dir = testing_paths.luarocks_dir .. "/test" |
374 | testing_paths.src_dir = testing_paths.luarocks_dir .. "/src" | 450 | testing_paths.src_dir = testing_paths.luarocks_dir .. "/src" |
375 | testing_paths.testing_lrprefix = testing_paths.testing_dir .. "/testing_lrprefix-" .. luaversion_full | 451 | testing_paths.testing_lrprefix = testing_paths.testing_dir .. "/testing_lrprefix-" .. luaversion_full |
@@ -380,6 +456,10 @@ local function create_paths(luaversion_full) | |||
380 | testing_paths.testing_cache = testing_paths.testing_dir .. "/testing_cache-" .. luaversion_full | 456 | testing_paths.testing_cache = testing_paths.testing_dir .. "/testing_cache-" .. luaversion_full |
381 | testing_paths.testing_server = testing_paths.testing_dir .. "/testing_server-" .. luaversion_full | 457 | testing_paths.testing_server = testing_paths.testing_dir .. "/testing_server-" .. luaversion_full |
382 | 458 | ||
459 | if test_env.TEST_TARGET_OS == "windows" then | ||
460 | testing_paths.win_tools = testing_paths.testing_lrprefix .. "/tools" | ||
461 | end | ||
462 | |||
383 | return testing_paths | 463 | return testing_paths |
384 | end | 464 | end |
385 | 465 | ||
@@ -409,7 +489,7 @@ function test_env.setup_specs(extra_rocks) | |||
409 | test_env.main() | 489 | test_env.main() |
410 | package.path = test_env.env_variables.LUA_PATH | 490 | package.path = test_env.env_variables.LUA_PATH |
411 | 491 | ||
412 | test_env.platform = execute_output(test_env.testing_paths.lua .. " -e 'print(require(\"luarocks.cfg\").arch)'", false, test_env.env_variables) | 492 | test_env.platform = execute_output(test_env.testing_paths.lua .. " -e \"print(require('luarocks.cfg').arch)\"", false, test_env.env_variables) |
413 | test_env.md5sums = create_md5sums(test_env.testing_paths) | 493 | test_env.md5sums = create_md5sums(test_env.testing_paths) |
414 | test_env.setup_done = true | 494 | test_env.setup_done = true |
415 | title("RUNNING TESTS") | 495 | title("RUNNING TESTS") |
@@ -546,13 +626,22 @@ end | |||
546 | 626 | ||
547 | --- Install luarocks into testing prefix. | 627 | --- Install luarocks into testing prefix. |
548 | local function install_luarocks(install_env_vars) | 628 | local function install_luarocks(install_env_vars) |
549 | -- Configure LuaRocks testing environment | 629 | local testing_paths = test_env.testing_paths |
550 | title("Installing LuaRocks") | 630 | title("Installing LuaRocks") |
551 | local configure_cmd = "./configure --with-lua=" .. test_env.testing_paths.luadir .. " --prefix=" .. test_env.testing_paths.testing_lrprefix | 631 | if test_env.TEST_TARGET_OS == "windows" then |
552 | assert(execute_bool(test_env.quiet(configure_cmd), false, install_env_vars)) | 632 | if test_env.LUA_V then |
553 | assert(execute_bool(test_env.quiet("make clean"), false, install_env_vars)) | 633 | assert(execute_bool("install.bat /LUA " .. testing_paths.luadir .. " /LV " .. test_env.LUA_V .. " /P " .. testing_paths.testing_lrprefix .. " /NOREG /NOADMIN /F /Q /CONFIG " .. testing_paths.testing_lrprefix .. "/etc/luarocks", false, install_env_vars)) |
554 | assert(execute_bool(test_env.quiet("make src/luarocks/site_config.lua"), false, install_env_vars)) | 634 | else |
555 | assert(execute_bool(test_env.quiet("make dev"), false, install_env_vars)) | 635 | assert(execute_bool("install.bat /LUA " .. testing_paths.luadir .. " /P " .. testing_paths.testing_lrprefix .. " /NOREG /NOADMIN /F /Q /CONFIG " .. testing_paths.testing_lrprefix .. "/etc/luarocks", false, install_env_vars)) |
636 | end | ||
637 | assert(execute_bool(testing_paths.win_tools .. "/cp " .. testing_paths.testing_lrprefix .. "/lua/luarocks/site_config* " .. testing_paths.src_dir .. "/luarocks/site_config.lua")) | ||
638 | else | ||
639 | local configure_cmd = "./configure --with-lua=" .. testing_paths.luadir .. " --prefix=" .. testing_paths.testing_lrprefix | ||
640 | assert(execute_bool(configure_cmd, false, install_env_vars)) | ||
641 | assert(execute_bool("make clean", false, install_env_vars)) | ||
642 | assert(execute_bool("make src/luarocks/site_config.lua", false, install_env_vars)) | ||
643 | assert(execute_bool("make dev", false, install_env_vars)) | ||
644 | end | ||
556 | print("LuaRocks installed correctly!") | 645 | print("LuaRocks installed correctly!") |
557 | end | 646 | end |
558 | 647 | ||
@@ -572,8 +661,8 @@ function test_env.main() | |||
572 | 661 | ||
573 | local install_env_vars = { | 662 | local install_env_vars = { |
574 | LUAROCKS_CONFIG = test_env.testing_paths.testing_dir .. "/testing_config.lua", | 663 | LUAROCKS_CONFIG = test_env.testing_paths.testing_dir .. "/testing_config.lua", |
575 | LUA_PATH = "", | 664 | LUA_PATH, |
576 | LUA_CPATH = "" | 665 | LUA_CPATH |
577 | } | 666 | } |
578 | 667 | ||
579 | install_luarocks(install_env_vars) | 668 | install_luarocks(install_env_vars) |