aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spec/quick/test.q51
-rw-r--r--src/luarocks/test/command.lua6
2 files changed, 57 insertions, 0 deletions
diff --git a/spec/quick/test.q b/spec/quick/test.q
new file mode 100644
index 00000000..cb5ccd79
--- /dev/null
+++ b/spec/quick/test.q
@@ -0,0 +1,51 @@
1================================================================================
2TEST: luarocks test: handle if test.command is not a string
3
4Regression test for #1055.
5
6FILE: example-1.0-1.rockspec
7--------------------------------------------------------------------------------
8rockspec_format = "3.0"
9source = {
10 url = "",
11}
12package = "example"
13version = "1.0-1"
14test = {
15 type = "command",
16 command = {"./unit.lua"},
17}
18--------------------------------------------------------------------------------
19
20RUN: luarocks test
21EXIT: 1
22STDERR:
23--------------------------------------------------------------------------------
24'command' expects a string
25--------------------------------------------------------------------------------
26
27
28
29================================================================================
30TEST: luarocks test: handle if test.script is not a string
31
32FILE: example-1.0-1.rockspec
33--------------------------------------------------------------------------------
34rockspec_format = "3.0"
35source = {
36 url = "",
37}
38package = "example"
39version = "1.0-1"
40test = {
41 type = "command",
42 script = {"./unit.lua"},
43}
44--------------------------------------------------------------------------------
45
46RUN: luarocks test
47EXIT: 1
48STDERR:
49--------------------------------------------------------------------------------
50'script' expects a string
51--------------------------------------------------------------------------------
diff --git a/src/luarocks/test/command.lua b/src/luarocks/test/command.lua
index afdb5cb6..bed6744e 100644
--- a/src/luarocks/test/command.lua
+++ b/src/luarocks/test/command.lua
@@ -27,12 +27,18 @@ function command.run_tests(test, args)
27 local ok 27 local ok
28 28
29 if test.script then 29 if test.script then
30 if type(test.script) ~= "string" then
31 return nil, "Malformed rockspec: 'script' expects a string"
32 end
30 if not fs.exists(test.script) then 33 if not fs.exists(test.script) then
31 return nil, "Test script " .. test.script .. " does not exist" 34 return nil, "Test script " .. test.script .. " does not exist"
32 end 35 end
33 local lua = fs.Q(cfg.variables["LUA"]) -- get lua interpreter configured 36 local lua = fs.Q(cfg.variables["LUA"]) -- get lua interpreter configured
34 ok = fs.execute(lua, test.script, unpack(args)) 37 ok = fs.execute(lua, test.script, unpack(args))
35 elseif test.command then 38 elseif test.command then
39 if type(test.command) ~= "string" then
40 return nil, "Malformed rockspec: 'command' expects a string"
41 end
36 ok = fs.execute(test.command, unpack(args)) 42 ok = fs.execute(test.command, unpack(args))
37 end 43 end
38 44