aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test.lua40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/test.lua b/tests/test.lua
new file mode 100644
index 0000000..5703bfb
--- /dev/null
+++ b/tests/test.lua
@@ -0,0 +1,40 @@
1#!/usr/local/bin/lua
2
3local tmp = "/tmp"
4local sep = "/"
5local upper = ".."
6
7require"lfs"
8
9function attrdir (path)
10 for file in lfs.dir(path) do
11 if file ~= "." and file ~= ".." then
12 local f = path..'/'..file
13 print ("\t=> "..f.." <=")
14 local attr = lfs.attributes (f)
15 assert (type(attr) == "table")
16 if attr.mode == "directory" then
17 attrdir (f)
18 else
19 for name, value in pairs(attr) do
20 print (name, value)
21 end
22 end
23 end
24 end
25end
26
27-- Checking changing directories
28local current = assert (lfs.currentdir())
29local reldir = string.gsub (current, "^.*%"..sep.."([^"..sep.."])$", "%1")
30assert (lfs.chdir (upper), "could not change to upper directory")
31assert (lfs.chdir (reldir), "could not change back to current directory")
32assert (lfs.currentdir() == current, "error trying to change directories")
33assert (lfs.chdir ("this couldn't be an actual directory") == false, "could change to a non-existent directory")
34-- Changing creating and removing directories
35assert (lfs.mkdir (tmp.."/lfs_tmp_dir"), "could not make a new directory")
36assert (os.remove (tmp.."/lfs_tmp_dir"), "could not remove new directory")
37assert (lfs.mkdir (tmp.."/lfs_tmp_dir/lfs_tmp_dir") == false, "could create a directory inside a non-existent one")
38--
39assert (lfs.attributes ("this couldn't be an actual file") == false, "could get attributes of a non-existent file")
40assert (type(lfs.attributes (upper)) == "table", "couldn't get attributes of upper directory")