~ chicken-core (chicken-5) /tests/file-access-tests.scm


 1;;
 2;; Tests for file and directory access.
 3;;
 4;; These may seem silly, but some of them actually fail on MinGW without help.
 5;;
 6
 7(import (chicken file)
 8        (chicken process-context))
 9
10(define /   (car (command-line-arguments)))
11(define //  (string-append / /))
12(define /// (string-append / / /))
13
14(assert (not (file-exists? "")))
15(assert (not (directory-exists? "")))
16
17(assert (file-exists? /))
18(assert (file-exists? //))
19(assert (file-exists? ///))
20
21(assert (directory-exists? /))
22(assert (directory-exists? //))
23(assert (directory-exists? ///))
24
25(assert (file-exists? "."))
26(assert (file-exists? ".."))
27
28(assert (directory-exists? "."))
29(assert (directory-exists? ".."))
30
31(assert (file-exists? (string-append "." /)))
32(assert (file-exists? (string-append "." //)))
33(assert (file-exists? (string-append "." ///)))
34
35(assert (file-exists? (string-append ".." /)))
36(assert (file-exists? (string-append ".." //)))
37(assert (file-exists? (string-append ".." ///)))
38
39(assert (file-exists? (string-append ".." / "tests")))
40(assert (file-exists? (string-append ".." / "tests" /)))
41(assert (file-exists? (string-append ".." / "tests" //)))
42(assert (file-exists? (string-append ".." / "tests" ///)))
43
44(assert (directory-exists? (string-append "." /)))
45(assert (directory-exists? (string-append "." //)))
46(assert (directory-exists? (string-append "." ///)))
47
48(assert (directory-exists? (string-append ".." /)))
49(assert (directory-exists? (string-append ".." //)))
50(assert (directory-exists? (string-append ".." ///)))
51
52(assert (directory-exists? (string-append ".." / "tests")))
53(assert (directory-exists? (string-append ".." / "tests" /)))
54(assert (directory-exists? (string-append ".." / "tests" //)))
55(assert (directory-exists? (string-append ".." / "tests" ///)))
56
57(assert (file-exists? (program-name)))
58(assert (not (directory-exists? (program-name))))
59
60(assert (not (file-exists? (string-append (program-name) /))))
61(assert (not (file-exists? (string-append (program-name) //))))
62(assert (not (file-exists? (string-append (program-name) ///))))
63
64(assert (not (directory-exists? (string-append (program-name) /))))
65(assert (not (directory-exists? (string-append (program-name) //))))
66(assert (not (directory-exists? (string-append (program-name) ///))))
67
68(print "All tests passed for slash: " /)
Trap