Skip to content

Commit

Permalink
testprogs/blackbox: add --recursive tests to test_samba-tool_ntacl.sh
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Metzmacher <[email protected]>
Reviewed-by: Andrew Bartlett <[email protected]>

Autobuild-User(master): Andrew Bartlett <[email protected]>
Autobuild-Date(master): Thu Jun 22 00:22:47 UTC 2023 on atb-devel-224
  • Loading branch information
metze-samba authored and abartlet committed Jun 22, 2023
1 parent 1174179 commit 91eb3f1
Showing 1 changed file with 135 additions and 3 deletions.
138 changes: 135 additions & 3 deletions testprogs/blackbox/test_samba-tool_ntacl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ if [ $# -ne 3 ]; then
exit 1
fi

set -u
set -e

PREFIX=$1
domain_sid=$2
CONFIGURATION=$3
Expand All @@ -16,7 +19,11 @@ failed=0
samba4bindir="$BINDIR"
samba_tool="$samba4bindir/samba-tool"

testfile="$PREFIX/ntacl_testfile"
testdirtop="$PREFIX/ntacl_testdirtop"
testfile="$testdirtop/testfile"
testdir1="$testdirtop/dir1"
testdir1f="$testdirtop/dir1/file"
testdir1l="$testdirtop/dir1/symlink"

# acl from samba_tool/ntacl.py tests
acl="O:DAG:DUD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED)S:AI(OU;CIIDSA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CIIDSA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)"
Expand All @@ -43,8 +50,9 @@ test_set_acl()
{
testfile="$1"
acl="$2"
shift 2

$PYTHON $samba_tool ntacl set "$acl" "$testfile"
$PYTHON $samba_tool ntacl set "$acl" "$testfile" "$@"
}

test_get_acl_ntvfs()
Expand Down Expand Up @@ -108,7 +116,11 @@ test_changedomsid_ntvfs()
touch "$(dirname $SMB_CONF_PATH)/error_inject.conf"
touch "$(dirname $SMB_CONF_PATH)/delay_inject.conf"

mkdir "$testdirtop"
touch "$testfile"
mkdir "$testdir1"
touch "$testdir1f"
ln -s "$testfile" "$testdir1l"

testit "set_ntacl" test_set_acl "$testfile" "$acl" || failed=$(expr $failed + 1)

Expand All @@ -127,6 +139,126 @@ testit "get_ntacl_ntvfs" test_get_acl_ntvfs "$testfile" "$acl_without_padding" |

testit "changedomsid_ntvfs" test_changedomsid_ntvfs "$testfile" || failed=$(expr $failed + 1)

rm -f "$testfile"
testit_grep "set_ntacl_recursive1 testdirtop" \
"ignored symlink: $testdirtop" \
test_set_acl "$testdirtop" "$acl" --recursive || failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive1 testdirtop" \
test_get_acl "$testdirtop" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive1 testfile" \
test_get_acl "$testfile" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive1 testdir1" \
test_get_acl "$testdir1" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive1 testdir1f" \
test_get_acl "$testdir1f" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)

testit_grep "changedomsid_recursive1 testdir1" \
"ignored symlink: $testdir1l" \
test_changedomsid "$testdir1" --recursive || failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive1 testdirtop" \
test_get_acl "$testdirtop" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive1 testfile" \
test_get_acl "$testfile" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive1 testdir1" \
test_get_acl "$testdir1" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive1 testdir1f" \
test_get_acl "$testdir1f" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)

testit_grep "changedomsid_recursive2 testdirtop" \
"ignored symlink: $testdir1l" \
test_changedomsid "$testdirtop" --recursive || failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive2 testdirtop" \
test_get_acl "$testdirtop" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive2 testfile" \
test_get_acl "$testfile" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive2 testdir1" \
test_get_acl "$testdir1" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_changedomsid_recursive2 testdir1f" \
test_get_acl "$testdir1f" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)

testit_grep "set_ntacl_recursive2 testdir1" \
"ignored symlink: $testdir1l" \
test_set_acl "$testdir1" "$acl" --recursive || failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive2 testdirtop" \
test_get_acl "$testdirtop" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive2 testfile" \
test_get_acl "$testfile" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive2 testdir1" \
test_get_acl "$testdir1" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive2 testdir1f" \
test_get_acl "$testdir1f" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)

testit_grep "set_ntacl_recursive3 testdir1" \
"symlink: $testdir1l" \
test_set_acl "$testdir1" "$acl" --recursive --follow-symlinks --verbose || failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive3 testdirtop" \
test_get_acl "$testdirtop" "$new_acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive3 testfile" \
test_get_acl "$testfile" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive3 testdir1" \
test_get_acl "$testdir1" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)
testit "get_ntacl_after_set_recursive3 testdir1f" \
test_get_acl "$testdir1f" "$acl_without_padding" \
--service=tmp \
$CONFIGURATION \
|| failed=$(expr $failed + 1)

rm -rf "$testdirtop"

exit $failed

0 comments on commit 91eb3f1

Please sign in to comment.