summaryrefslogtreecommitdiffstats
path: root/tests/018
diff options
context:
space:
mode:
Diffstat (limited to 'tests/018')
-rw-r--r--tests/018/chmod.tl47
1 files changed, 26 insertions, 21 deletions
diff --git a/tests/018/chmod.tl b/tests/018/chmod.tl
index ada3f0be..04b63fe7 100644
--- a/tests/018/chmod.tl
+++ b/tests/018/chmod.tl
@@ -33,24 +33,29 @@
(error "failed to set mode with ~s: expected ~s, actual ~s"
mode expected (enc-perm m)))))))
-(cht "------------" "a+strwx" "sgtrwxrwxrwx")
-(cht "------------" "+strwx" "sgtrwxr-xr-x")
-(cht "------------" "u+s" "s-----------")
-(cht "------------" "g+s" "-g----------")
-(cht "------------" "+t" "--t---------")
-(cht "sgtrwxrwxrwx" "=" "------------")
-(cht "sgtrwxrwxrwx" "u=" "-gt---rwxrwx")
-(cht "sgtrwxrwxrwx" "g=" "s-trwx---rwx")
-(cht "sgtrwxrwxrwx" "o=" "sg-rwxrwx---")
-(cht "------------" "u+s,g+s" "sg----------")
-(cht "------------" "u+r,g+r,o+r,+t,+s" "sgtr--r--r--")
-(cht "------------" "+rwx,g-r+w,o-r+w" "---rwx-wx-wx")
-(cht "---------rwx" "u=rwsx" "s--rwx---rwx")
-(cht "---------rwx" "u=rwsx,g=rwx,go-x" "s--rwxrw-rw-")
-(cht "---------rwx" "g=o,g-w+s,u=g,o-x" "-g-r-xr-xrw-")
-(cht "---------rwx" "o=o" "---------rwx")
-(cht "-----x------" "a+X" "-----x--x--x")
-(cht "-----x------" "=,a+X" "------------")
-(cht "-----x------" "a-x+X" "------------")
-(cht "------------" "u+x-X" "------------")
-(cht "------------" "o+x=o" "-----------x")
+(let ((os (os-symbol)))
+ (cht "------------" "a+strwx" "sgtrwxrwxrwx")
+ (cht "------------" "+strwx" "sgtrwxr-xr-x")
+ (cht "------------" "u+s" "s-----------")
+ (cht "------------" "g+s" "-g----------")
+ (cht "------------" "+t" "--t---------")
+ (cht "sgtrwxrwxrwx" "=" "------------")
+ ;; These tests don't work on Cygwin 3.1.7, Windows 10.
+ ;; They worked on Cygwin 2.5 on Windows 7.
+ (unless (eq os :cygwin)
+ (cht "sgtrwxrwxrwx" "u=" "-gt---rwxrwx")
+ (cht "sgtrwxrwxrwx" "g=" "s-trwx---rwx")
+ (cht "sgtrwxrwxrwx" "o=" "sg-rwxrwx---"))
+ (cht "------------" "u+s,g+s" "sg----------")
+ (cht "------------" "u+r,g+r,o+r,+t,+s" "sgtr--r--r--")
+ (cht "------------" "+rwx,g-r+w,o-r+w" "---rwx-wx-wx")
+ (cht "---------rwx" "u=rwsx" "s--rwx---rwx")
+ (unless (eq os :cygwin)
+ (cht "---------rwx" "u=rwsx,g=rwx,go-x" "s--rwxrw-rw-")
+ (cht "---------rwx" "g=o,g-w+s,u=g,o-x" "-g-r-xr-xrw-"))
+ (cht "---------rwx" "o=o" "---------rwx")
+ (cht "-----x------" "a+X" "-----x--x--x")
+ (cht "-----x------" "=,a+X" "------------")
+ (cht "-----x------" "a-x+X" "------------")
+ (cht "------------" "u+x-X" "------------")
+ (cht "------------" "o+x=o" "-----------x"))