1#!/bin/sh 2 3# this runs the file serving tests that are expected to pass with samba3 4 5if [ $# -lt 3 ]; then 6cat <<EOF 7Usage: test_posix_s3.sh UNC USERNAME PASSWORD <first> <smbtorture args> 8EOF 9exit 1; 10fi 11 12unc="$1" 13username="$2" 14password="$3" 15start="$4" 16shift 4 17ADDARGS="$*" 18 19test x"$TEST_FUNCTIONS_SH" != x"INCLUDED" && { 20incdir=`dirname $0` 21. $incdir/test_functions.sh 22} 23 24base="BASE-ATTR BASE-CHARSET BASE-CHKPATH BASE-DEFER_OPEN BASE-DELAYWRITE BASE-DELETE" 25base="$base BASE-DENY1 BASE-DENY2 BASE-DENY3 BASE-DENYDOS BASE-DIR1 BASE-DIR2" 26base="$base BASE-DISCONNECT BASE-FDPASS BASE-LOCK" 27base="$base BASE-MANGLE BASE-NEGNOWAIT BASE-NTDENY1" 28base="$base BASE-NTDENY2 BASE-OPEN BASE-OPENATTR BASE-PROPERTIES BASE-RENAME BASE-RW1" 29base="$base BASE-SECLEAK BASE-TCON BASE-TCONDEV BASE-TRANS2 BASE-UNLINK BASE-VUID" 30base="$base BASE-XCOPY BASE-SAMBA3ERROR" 31 32raw="RAW-ACLS RAW-CHKPATH RAW-CLOSE RAW-COMPOSITE RAW-CONTEXT RAW-EAS" 33raw="$raw RAW-IOCTL RAW-LOCK RAW-MKDIR RAW-MUX RAW-NOTIFY RAW-OPEN RAW-OPLOCK" 34raw="$raw RAW-QFILEINFO RAW-QFSINFO RAW-READ RAW-RENAME RAW-SEARCH RAW-SEEK" 35raw="$raw RAW-SFILEINFO RAW-SFILEINFO-BUG RAW-STREAMS RAW-UNLINK RAW-WRITE" 36raw="$raw RAW-SAMBA3HIDE RAW-SAMBA3BADPATH RAW-SFILEINFO-RENAME" 37raw="$raw RAW-SAMBA3CASEINSENSITIVE RAW-SAMBA3POSIXTIMEDLOCK" 38raw="$raw RAW-SAMBA3ROOTDIRFID" 39 40rpc="RPC-AUTHCONTEXT RPC-SAMBA3-BIND RPC-SAMBA3-SRVSVC RPC-SAMBA3-SHARESEC" 41rpc="$rpc RPC-SAMBA3-SPOOLSS RPC-SAMBA3-WKSSVC RPC-SAMBA3-WINREG" 42rpc="$rpc RPC-SAMBA3-NETLOGON RPC-SAMBA3-SESSIONKEY RPC-SAMBA3-GETUSERNAME" 43rpc="$rpc RPC-SVCCTL RPC-SPOOLSS RPC-SPOOLSS-WIN RPC-NTSVCS RPC-WINREG" 44rpc="$rpc RPC-LSA-GETUSER RPC-LSA-LOOKUPSIDS RPC-LSA-LOOKUPNAMES" 45rpc="$rpc RPC-LSA-PRIVILEGES " 46rpc="$rpc RPC-SAMR RPC-SAMR-USERS RPC-SAMR-USERS-PRIVILEGES RPC-SAMR-PASSWORDS" 47rpc="$rpc RPC-SAMR-PASSWORDS-PWDLASTSET RPC-SAMR-LARGE-DC RPC-SAMR-MACHINE-AUTH" 48rpc="$rpc RPC-NETLOGON-S3 RPC-NETLOGON-ADMIN" 49rpc="$rpc RPC-SCHANNEL RPC-SCHANNEL2 RPC-BENCH-SCHANNEL1 RPC-JOIN" 50 51local="LOCAL-NSS-WRAPPER LOCAL-NDR" 52 53winbind="WINBIND-WBCLIENT" 54 55# NOTE: to enable the UNIX-WHOAMI test, we need to change the default share 56# config to allow guest access. I'm not sure whether this would break other 57# tests, so leaving it alone for now -- jpeach 58unix="UNIX-INFO2" 59 60tests="$base $raw $rpc $unix $local $winbind" 61 62if test "x$POSIX_SUBTESTS" != "x" ; then 63 tests="$POSIX_SUBTESTS" 64fi 65 66skipped="BASE-CHARSET BASE-TCONDEV" 67skipped="$skipped RAW-ACLS RAW-COMPOSITE RAW-CONTEXT" 68skipped="$skipped RAW-IOCTL" 69skipped="$skipped RAW-QFILEINFO RAW-QFSINFO" 70skipped="$skipped RAW-SFILEINFO" 71 72echo "WARNING: Skipping tests $skipped" 73 74ADDARGS="$ADDARGS --option=torture:sharedelay=100000" 75#ADDARGS="$ADDARGS --option=torture:writetimeupdatedelay=500000" 76 77failed=0 78for t in $tests; do 79 if [ ! -z "$start" -a "$start" != $t ]; then 80 continue; 81 fi 82 skip=0 83 for s in $skipped; do 84 if [ x"$s" = x"$t" ]; then 85 skip=1; 86 break; 87 fi 88 done 89 if [ $skip = 1 ]; then 90 continue; 91 fi 92 start="" 93 name="$t" 94 if [ "$t" = "BASE-DELAYWRITE" ]; then 95 testit "$name" $VALGRIND $SMBTORTURE4 $TORTURE4_OPTIONS --maximum-runtime=900 $ADDARGS $unc -U"$username"%"$password" $t || failed=`expr $failed + 1` 96 else 97 testit "$name" $VALGRIND $SMBTORTURE4 $TORTURE4_OPTIONS $ADDARGS $unc -U"$username"%"$password" $t || failed=`expr $failed + 1` 98 fi 99 if [ "$t" = "RAW-CHKPATH" ]; then 100 echo "Testing with case sensitive" 101 testit "$name" $VALGRIND $SMBTORTURE4 $TORTURE4_OPTIONS $ADDARGS "$unc"case -U"$username"%"$password" $t || failed=`expr $failed + 1` 102 fi 103done 104 105testok $0 $failed 106