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: " /) 69