diff options
Diffstat (limited to 'source3/script/tests/test_itime.sh')
-rwxr-xr-x | source3/script/tests/test_itime.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/source3/script/tests/test_itime.sh b/source3/script/tests/test_itime.sh new file mode 100755 index 00000000000..c457da9906b --- /dev/null +++ b/source3/script/tests/test_itime.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# this tests immutable birthtime + +if [ $# != 6 ]; then +cat <<EOF +Usage: $0 SERVER USERNAME PASSWORD LOCAL_PATH SMBCLIENT SHARE +EOF +exit 1 +fi + +SERVER="$1" +USERNAME="$2" +PASSWORD="$3" +LOCAL_PATH="$4" +SMBCLIENT="$5" +SHARE="$6" +SAMBATOOL="$BINDIR/samba-tool" + +incdir=`dirname $0`/../../../testprogs/blackbox +. $incdir/subunit.sh + +# Show that setting DOS attributes on a locally created file, therefore lacking +# a DOS xattr and an itime, doesn't set an itime +no_itime_on_local_file() { + fname="tmp.$$" + local_fname="$LOCAL_PATH/$fname" + touch $local_fname || return 1 + + $SMBCLIENT //$SERVER/$SHARE -U $USERNAME%$PASSWORD -c "setmode $fname +h" || return 1 + + dosinfo=$($SAMBATOOL ntacl getdosinfo $local_fname) || return 1 + echo $dosinfo | grep -q "xattr_DosInfo4" || return 1 + echo $dosinfo | grep -q "1: XATTR_DOSINFO_ATTRIB" || return 1 + echo $dosinfo | grep -q "1: XATTR_DOSINFO_CREATE_TIME" || return 1 + echo $dosinfo | grep -q "0: XATTR_DOSINFO_ITIME" || return 1 +} + +testit "no_itime_on_local_file" no_itime_on_local_file |