diff options
Diffstat (limited to 'source3')
-rwxr-xr-x | source3/script/tests/test_itime.sh | 39 | ||||
-rwxr-xr-x | source3/selftest/tests.py | 2 |
2 files changed, 41 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 diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 5ef227732be..1394dc456b2 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -832,3 +832,5 @@ for env in ["ad_member_idmap_rid:local", "maptoguest:local"]: plantestsuite("samba3.blackbox.guest (%s)" % env , env, [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"), '$SERVER', smbclient3, smbcontrol, net, configuration]) + +plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr']) |