From b09dc6306e7affaf002f67350b9787c550ddb5c2 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 10 Jan 2024 19:18:05 +0100 Subject: [PATCH] tests: ls: add a test to verify that '+' is added * tests/ls/acl.sh: Add a new test. * tests/local.mk: Reference the new test. --- tests/local.mk | 1 + tests/ls/acl.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100755 tests/ls/acl.sh diff --git a/tests/local.mk b/tests/local.mk index d9bdb2ed5f..895a19ae7a 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -611,6 +611,7 @@ all_tests = \ tests/ln/slash-decorated-nonexistent-dest.sh \ tests/ln/target-1.sh \ tests/ls/a-option.sh \ + tests/ls/acl.sh \ tests/ls/abmon-align.sh \ tests/ls/birthtime.sh \ tests/ls/block-size.sh \ diff --git a/tests/ls/acl.sh b/tests/ls/acl.sh new file mode 100755 index 0000000000..04213c7804 --- /dev/null +++ b/tests/ls/acl.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# verify that ls -al with acl displays the "+" + +# Copyright (C) 2024 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ ls + +require_acl_ + +# Skip this test if ls was built without ACL support: +grep '^#define USE_ACL 1' $CONFIG_HEADER > /dev/null || + skip_ "insufficient ACL support" + +mkdir k || framework_failure_ + +setfacl -d -m user::rwx k 2> /dev/null || framework_failure_ +getfacl k | grep 'default:' || skip_ 'default ACL not set' + +ls_l=$(ls -ld k) || fail=1 + +case $ls_l in + d[rwxsStT-]*+\ *) ;; + *) fail=1; ;; +esac + +Exit $fail -- 2.47.2