From: Jeremy Allison Date: Sat, 18 Jun 2022 00:49:43 +0000 (-0700) Subject: s3: tests: Add test that shows smbd crashes using vfs_fruit with fruit:resource ... X-Git-Tag: tevent-0.13.0~366 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=238b2cbb8f352375c448d86b462f13752640e16b;p=thirdparty%2Fsamba.git s3: tests: Add test that shows smbd crashes using vfs_fruit with fruit:resource = stream on deleting a file. Add knownfail. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15099 Signed-off-by: Jeremy Allison Reviewed-by: Noel Power --- diff --git a/selftest/knownfail.d/fruit_resource_stream b/selftest/knownfail.d/fruit_resource_stream new file mode 100644 index 00000000000..081edb983ee --- /dev/null +++ b/selftest/knownfail.d/fruit_resource_stream @@ -0,0 +1 @@ +^samba3.blackbox.fruit.resource_stream.resource_stream\(fileserver\) diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index 798796bc21f..db8c55602da 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -2567,6 +2567,9 @@ sub provision($$) my $local_symlinks_shrdir="$shrdir/local_symlinks"; push(@dirs,$local_symlinks_shrdir); + my $fruit_resource_stream_shrdir="$shrdir/fruit_resource_stream"; + push(@dirs,$fruit_resource_stream_shrdir); + # this gets autocreated by winbindd my $wbsockdir="$prefix_abs/wbsock"; @@ -3127,6 +3130,12 @@ sub provision($$) fruit:metadata = stream fruit:zero_file_id=yes +[fruit_resource_stream] + path = $fruit_resource_stream_shrdir + vfs objects = fruit streams_xattr acl_xattr xattr_tdb + fruit:resource = stream + fruit:metadata = stream + [badname-tmp] path = $badnames_shrdir guest ok = yes diff --git a/source3/script/tests/test_fruit_resource_stream.sh b/source3/script/tests/test_fruit_resource_stream.sh new file mode 100755 index 00000000000..7e99ea3de5c --- /dev/null +++ b/source3/script/tests/test_fruit_resource_stream.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +# this tests copying a file and then deleting it +# to a share using fruit:resource = stream +# BUG: https://bugzilla.samba.org/show_bug.cgi?id=15099 + +if [ $# -lt 6 ]; then + cat </dev/null 2>&1 +} + +rm -f "$LOCAL_PATH/src" +rm -f "$LOCAL_PATH/dst" +touch "$LOCAL_PATH/src" + +testit "resource_stream" put_then_delete_file || failed=$((failed + 1)) + +rm -f "$LOCAL_PATH/src" +rm -f "$LOCAL_PATH/dst" + +testok "$0" "$failed" diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 2e62696cb82..c53be8b471b 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -676,6 +676,10 @@ for env in ["fileserver"]: plantestsuite("samba3.blackbox.test_full_audit_fail_badname", env, [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"), '$SERVER', 'full_audit_fail_bad_name', '$USERNAME', '$PASSWORD', smbclient3]) + plantestsuite("samba3.blackbox.fruit.resource_stream", env, + [os.path.join(samba3srcdir, "script/tests/test_fruit_resource_stream.sh"), + '$SERVER', 'fruit_resource_stream', '$USERNAME', '$PASSWORD', + '$LOCAL_PATH/fruit_resource_stream', smbclient3]) for env in ["fileserver:local"]: plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])