From 9a2e3f62d60b7257d28e638c0abfc9abf815d868 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