mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
selftest: test for case insensitivity over SMB2/SMB3
Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
a9ccd50b63
commit
c519cc8b98
82
source3/script/tests/test_smb2_not_casesensitive.sh
Executable file
82
source3/script/tests/test_smb2_not_casesensitive.sh
Executable file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Blackbox test for SMB2 case insensitivity
|
||||
#
|
||||
|
||||
if [ $# -lt 6 ]; then
|
||||
cat <<EOF
|
||||
Usage: test_smb2_not_casesensitive SERVER SERVER_IP USERNAME PASSWORD LOCAL_PATH SMBCLIENT
|
||||
EOF
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
SERVER=${1}
|
||||
SERVER_IP=${2}
|
||||
USERNAME=${3}
|
||||
PASSWORD=${4}
|
||||
LOCAL_PATH=${5}
|
||||
SMBCLIENT=${6}
|
||||
|
||||
incdir=`dirname $0`/../../../testprogs/blackbox
|
||||
. $incdir/subunit.sh
|
||||
|
||||
failed=0
|
||||
|
||||
# Test a file with different case works over SMB2 and later
|
||||
test_access_with_different_case()
|
||||
{
|
||||
tmpfile=$LOCAL_PATH/testfile.txt
|
||||
echo "foobar" > $tmpfile
|
||||
|
||||
cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT -mSMB3 -U$USERNAME%$PASSWORD "$SERVER" -I $SERVER_IP -c "ls TeStFiLe.TxT" 2>&1'
|
||||
out=`eval $cmd`
|
||||
ret=$?
|
||||
|
||||
rm -f $tmpfile
|
||||
|
||||
if [ $ret = 0 ]; then
|
||||
return 0
|
||||
else
|
||||
echo "$out"
|
||||
echo "failed to get file with different case"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Test that a rename causes a conflict works when target name exists in
|
||||
# different case
|
||||
test_rename()
|
||||
{
|
||||
set -x
|
||||
tmpfile=$LOCAL_PATH/torename.txt
|
||||
echo "foobar" > $tmpfile
|
||||
targetfile=$LOCAL_PATH/target.txt
|
||||
touch $targetfile
|
||||
|
||||
cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT -mSMB3 -U$USERNAME%$PASSWORD "$SERVER" -I $SERVER_IP -c "rename ToReNaMe.TxT TaRgEt.txt" 2>&1'
|
||||
out=`eval $cmd`
|
||||
ret=$?
|
||||
|
||||
rm -f $tmpfile
|
||||
rm -f $targetfile
|
||||
rm -f $LOCAL_PATH/TaRgEt.txt
|
||||
|
||||
if [ $ret = 1 -a -z "${out##*COLLISION*}" ]; then
|
||||
return 0
|
||||
else
|
||||
echo "$out"
|
||||
echo "failed to get file with different case"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
testit "accessing a file with different case succeeds" \
|
||||
test_access_with_different_case || \
|
||||
failed=`expr $failed + 1`
|
||||
|
||||
testit "renaming a file with different case succeeds" \
|
||||
test_rename || \
|
||||
failed=`expr $failed + 1`
|
||||
|
||||
exit $failed
|
@ -190,6 +190,7 @@ for env in ["fileserver"]:
|
||||
plantestsuite("samba3.blackbox.smbget (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
|
||||
plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
|
||||
plantestsuite("samba3.blackbox.acl_xattr (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls])
|
||||
plantestsuite("samba3.blackbox.smb2.not_casesensitive (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smb2_not_casesensitive.sh"), '//$SERVER/tmp', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
|
||||
|
||||
#
|
||||
# tar command tests
|
||||
|
Loading…
x
Reference in New Issue
Block a user