1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
function test_cpdir(t)
-- get mclock
local tm = os.mclock()
-- test cpdir
os.mkdir("test1")
t:require(os.exists("test1"))
os.cp("test1","test2")
t:require(os.exists("test2"))
os.rmdir("test1")
t:require_not(os.exists("test1"))
io.writefile("test2/awd","awd")
os.rmdir("test2")
t:require_not(os.exists("test2"))
-- assert mclock
t:require(os.mclock() >= tm)
end
function test_rename(t)
-- get mclock
local tm = os.mclock()
-- test rename
os.mkdir("test1")
t:require(os.exists("test1"))
os.mv("test1","test2")
t:require_not(os.exists("test1"))
t:require(os.exists("test2"))
os.rmdir("test2")
t:require_not(os.exists("test2"))
-- assert mclock
t:require(os.mclock() >= tm)
end
function test_cp_mvdir_into_another_dir(t)
-- get mclock
local tm = os.mclock()
-- test cp/mvdir into another dir
os.mkdir("test1")
os.mkdir("test2")
t:require(os.exists("test1"))
t:require(os.exists("test2"))
os.cp("test1","test2")
t:require(os.exists("test2/test1"))
os.mv("test1","test2/test1")
t:require_not(os.exists("test1"))
t:require(os.exists("test2/test1/test1"))
os.rmdir("test2")
t:require_not(os.exists("test2"))
-- assert mclock
t:require(os.mclock() >= tm)
end
function test_setenv(t)
-- get mclock
local tm = os.mclock()
-- test setenv
os.setenv("__AWD","DWA")
t:are_equal(os.getenv("__AWD"), "DWA")
os.setenv("__AWD","DWA2")
t:are_equal(os.getenv("__AWD"), "DWA2")
-- assert mclock
t:require(os.mclock() >= tm)
end
function test_argv(t)
t:are_equal(os.argv(""), {})
t:are_equal(os.argv("aa bb cc"), {"aa", "bb", "cc"})
t:are_equal(os.argv("aa --bb=bbb -c"), {"aa", "--bb=bbb", "-c"})
t:are_equal(os.argv("\"aa bb cc\" dd"), {"aa bb cc", "dd"})
t:are_equal(os.argv("\"aa(bb)cc\" dd"), {"aa(bb)cc", "dd"})
t:are_equal(os.argv("aa\\bb/cc dd"), {"aa\\bb/cc", "dd"})
t:are_equal(os.argv("\"aa\\\\bb/cc dd\" ee"), {"aa\\bb/cc dd", "ee"})
t:are_equal(os.argv("\"aa\\\\bb/cc (dd)\" ee"), {"aa\\bb/cc (dd)", "ee"})
t:are_equal(os.argv("-D__prefix__=\\\"tbox\\\""), {"-D__prefix__=\"tbox\""})
end
function test_args(t)
t:are_equal(os.args({}), "")
t:are_equal(os.args({"aa", "bb", "cc"}), "aa bb cc")
t:are_equal(os.args({"aa", "--bb=bbb", "-c"}), "aa --bb=bbb -c")
t:are_equal(os.args({"aa bb cc", "dd"}), "\"aa bb cc\" dd")
t:are_equal(os.args({"aa(bb)cc", "dd"}), "\"aa(bb)cc\" dd")
t:are_equal(os.args({"aa\\bb/cc", "dd"}), "aa\\bb/cc dd")
t:are_equal(os.args({"aa\\bb/cc dd", "ee"}), "\"aa\\\\bb/cc dd\" ee")
t:are_equal(os.args({"aa\\bb/cc (dd)", "ee"}), "\"aa\\\\bb/cc (dd)\" ee")
t:are_equal(os.args("-D__prefix__=\"tbox\""), "-D__prefix__=\\\"tbox\\\"")
t:are_equal(os.args({"aa\\bb/cc", "dd"}, {escape = true}), "aa\\\\bb/cc dd")
end
|