diff options
Diffstat (limited to 'spec/util_spec.lua')
-rw-r--r-- | spec/util_spec.lua | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/spec/util_spec.lua b/spec/util_spec.lua new file mode 100644 index 00000000..7c22d1cb --- /dev/null +++ b/spec/util_spec.lua | |||
@@ -0,0 +1,96 @@ | |||
1 | local test_env = require("test/test_environment") | ||
2 | local lfs = require("lfs") | ||
3 | |||
4 | expose("Basic tests #blackbox #b_util", function() | ||
5 | |||
6 | before_each(function() | ||
7 | test_env.setup_specs(extra_rocks) | ||
8 | testing_paths = test_env.testing_paths | ||
9 | env_variables = test_env.env_variables | ||
10 | run = test_env.run | ||
11 | end) | ||
12 | |||
13 | it("LuaRocks version", function() | ||
14 | assert.is_true(run.luarocks_bool("--version")) | ||
15 | end) | ||
16 | |||
17 | it("LuaRocks unknown command", function() | ||
18 | assert.is_false(run.luarocks_bool("unknown_command")) | ||
19 | end) | ||
20 | |||
21 | it("LuaRocks arguments fail", function() | ||
22 | assert.is_false(run.luarocks_bool("--porcelain=invalid")) | ||
23 | assert.is_false(run.luarocks_bool("--invalid-flag")) | ||
24 | assert.is_false(run.luarocks_bool("--server")) | ||
25 | assert.is_false(run.luarocks_bool("--server --porcelain")) | ||
26 | assert.is_false(run.luarocks_bool("--invalid-flag=abc")) | ||
27 | assert.is_false(run.luarocks_bool("invalid=5")) | ||
28 | end) | ||
29 | |||
30 | it("LuaRocks execute from not existing directory", function() | ||
31 | local main_path = lfs.currentdir() | ||
32 | assert.is_true(lfs.mkdir("idontexist")) | ||
33 | assert.is_true(lfs.chdir("idontexist")) | ||
34 | local delete_path = lfs.currentdir() | ||
35 | assert.is_true(os.remove(delete_path)) | ||
36 | |||
37 | assert.is_false(run.luarocks_bool(" ")) | ||
38 | assert.is_true(lfs.chdir(main_path)) | ||
39 | assert.is_true(run.luarocks_bool(" ")) | ||
40 | end) | ||
41 | |||
42 | it("LuaRocks timeout", function() | ||
43 | assert.is_true(run.luarocks_bool("--timeout=10")) | ||
44 | end) | ||
45 | |||
46 | it("LuaRocks timeout invalid", function() | ||
47 | assert.is_false(run.luarocks_bool("--timeout=abc")) | ||
48 | end) | ||
49 | |||
50 | it("LuaRocks only server=testing", function() | ||
51 | assert.is_true(run.luarocks_bool("--only-server=testing")) | ||
52 | end) | ||
53 | |||
54 | it("LuaRocks test site config", function() | ||
55 | assert.is.truthy(os.rename("src/luarocks/site_config.lua", "src/luarocks/site_config.lua.tmp")) | ||
56 | assert.is.falsy(lfs.attributes("src/luarocks/site_config.lua")) | ||
57 | assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua.tmp")) | ||
58 | |||
59 | assert.is_true(run.luarocks_bool("")) | ||
60 | |||
61 | assert.is.truthy(os.rename("src/luarocks/site_config.lua.tmp", "src/luarocks/site_config.lua")) | ||
62 | assert.is.falsy(lfs.attributes("src/luarocks/site_config.lua.tmp")) | ||
63 | assert.is.truthy(lfs.attributes("src/luarocks/site_config.lua")) | ||
64 | end) | ||
65 | |||
66 | describe("LuaRocks sysconfig fails", function() | ||
67 | local scdir = "" | ||
68 | |||
69 | before_each(function() | ||
70 | scdir = testing_paths.testing_lrprefix .. "/etc/luarocks/" | ||
71 | lfs.mkdir(testing_paths.testing_lrprefix) | ||
72 | lfs.mkdir(testing_paths.testing_lrprefix .. "/etc/") | ||
73 | lfs.mkdir(scdir) | ||
74 | end) | ||
75 | |||
76 | after_each(function() | ||
77 | test_env.remove_dir(testing_paths.testing_lrprefix) | ||
78 | end) | ||
79 | |||
80 | it("LuaRocks sysconfig fail", function() | ||
81 | local sysconfig = io.open(scdir .. "/config.lua", "w+") | ||
82 | sysconfig:write("aoeui") | ||
83 | sysconfig:close() | ||
84 | |||
85 | assert.is_false(run.luarocks_bool("list")) | ||
86 | end) | ||
87 | |||
88 | it("LuaRocks sysconfig fail", function() | ||
89 | local sysconfig = io.open(scdir .. "/config-" .. env_variables.LUA_VERSION .. ".lua", "w+") | ||
90 | sysconfig:write("aoeui") | ||
91 | sysconfig:close() | ||
92 | |||
93 | assert.is_false(run.luarocks_bool("list")) | ||
94 | end) | ||
95 | end) | ||
96 | end) | ||