From d0c515f7dacd0134cedaa29df3b79291f758c87d Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 24 Dec 2020 06:39:46 -0800 Subject: 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. --- tests/018/chmod.tl | 47 ++++++++++++++++++++++++++--------------------- 1 file 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")) -- cgit v1.2.3