summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-12-24 06:39:46 -0800
committerKaz Kylheku <kaz@kylheku.com>2020-12-24 06:39:46 -0800
commitd0c515f7dacd0134cedaa29df3b79291f758c87d (patch)
tree6413a4cee3ebf9826d4d6d0251128d45bea07211
parent1b7b434d331972353865dded8069cfa18bc37604 (diff)
downloadtxr-d0c515f7dacd0134cedaa29df3b79291f758c87d.tar.gz
txr-d0c515f7dacd0134cedaa29df3b79291f758c87d.tar.bz2
txr-d0c515f7dacd0134cedaa29df3b79291f758c87d.zip
chmod: disable some chmod tests on Cygwin.
* tests/018/chmod.tl: Certain chmod test cases no longer work on Cygwin. The issue is the chmod system call. It produces completely nonsensical results in some cases. We disable these test cases on Cygwin.
-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"))