From: Pádraig Brady Date: Tue, 12 Nov 2024 11:34:07 +0000 (+0000) Subject: tests: ls: also test security context output for symlinks X-Git-Tag: v9.6~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc0ea5cb87e893f0dc4bc36d606d63c4f3317c50;p=thirdparty%2Fcoreutils.git tests: ls: also test security context output for symlinks * tests/ls/selinux.sh: Test symlinks as well as files. --- diff --git a/tests/ls/selinux.sh b/tests/ls/selinux.sh index 7b3ad6af32..364e32d9b9 100755 --- a/tests/ls/selinux.sh +++ b/tests/ls/selinux.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Test selinux output +# Test ls SELinux file context output # Copyright (C) 2024 Free Software Foundation, Inc. @@ -20,21 +20,26 @@ print_ver_ ls require_selinux_ -touch f || framework_failure_ -case $(stat --printf='%C' f) in +touch file || framework_failure_ +ln -s file link || framework_failure_ + +case $(stat --printf='%C' file) in *:*:*:*) ;; *) skip_ 'unable to match default security context';; esac -# ensure that ls -l output includes the "." -test "$(ls -l f|cut -c11)" = . || fail=1 +for f in file link; do -# ensure that ls -lZ output includes context -ls_output=$(LC_ALL=C ls -lnZ f) || fail=1 -set x $ls_output -case $6 in - *:*:*:*) ;; - *) fail=1 ;; -esac + # ensure that ls -l output includes the "." + test "$(ls -l $f | cut -c11)" = . || fail=1 + + # ensure that ls -lZ output includes context + ls_output=$(LC_ALL=C ls -lnZ "$f") || fail=1 + set x $ls_output + case $6 in + *:*:*:*) ;; + *) fail=1 ;; + esac +done Exit $fail