diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-01-14 01:39:34 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:40:36 -0500 |
commit | f60f9de6a833237767d1988ea67bc5d3368a4354 (patch) | |
tree | 9a0e01459d9e0af315c7c3f7d1a4f4982be696d7 /testprogs/blackbox | |
parent | d9665a737b978d0fcca1fd23ab04858e2fa81284 (diff) | |
download | samba-f60f9de6a833237767d1988ea67bc5d3368a4354.tar.gz samba-f60f9de6a833237767d1988ea67bc5d3368a4354.tar.bz2 samba-f60f9de6a833237767d1988ea67bc5d3368a4354.zip |
r20747: Move cifsdd to blackbox section
(This used to be commit 96ac1c62eef29e8c8c1df9719b6785134efe525c)
Diffstat (limited to 'testprogs/blackbox')
-rwxr-xr-x | testprogs/blackbox/test_cifsdd.sh | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/testprogs/blackbox/test_cifsdd.sh b/testprogs/blackbox/test_cifsdd.sh new file mode 100755 index 0000000000..d216695821 --- /dev/null +++ b/testprogs/blackbox/test_cifsdd.sh @@ -0,0 +1,90 @@ +#!/bin/sh + +# Basic script to make sure that cifsdd can do both local and remote I/O. + +if [ $# -lt 4 ]; then +cat <<EOF +Usage: test_cifsdd.sh SERVER USERNAME PASSWORD DOMAIN +EOF +exit 1; +fi + +SERVER=$1 +USERNAME=$2 +PASSWORD=$3 +DOMAIN=$4 + +DD=bin/cifsdd + +SHARE=tmp +DEBUGLEVEL=1 + +failed=0 + +testit() { + name="$1" + shift + cmdline="$*" + echo "test: $name" + $cmdline + status=$? + if [ x$status = x0 ]; then + echo "success: $name" + else + echo "failure: $name" + failed=`expr $failed + 1` + fi + return $status +} + + + +runcopy() { + message="$1" + shift + + testit "$message" $VALGRIND $DD $CONFIGURATION --debuglevel=$DEBUGLEVEL -W "$DOMAIN" -U "$USERNAME"%"$PASSWORD" \ + "$@" +} + +compare() { + tesit "$1" cmp "$2" "$3" +} + +sourcepath=tempfile.src.$$ +destpath=tempfile.dst.$$ + +# Create a source file with arbitrary contents +dd if=$DD of=$sourcepath bs=1024 count=50 > /dev/null + +ls -l $sourcepath + +for bs in 512 4k 48k ; do + +echo "Testing $bs block size ..." + +# Check whether we can do local IO +runcopy "Testing local -> local copy" if=$sourcepath of=$destpath bs=$bs +compare "Checking local differences" $sourcepath $destpath + +# Check whether we can do a round trip +runcopy "Testing local -> remote copy" \ + if=$sourcepath of=//$SERVER/$SHARE/$sourcepath bs=$bs +runcopy "Testing remote -> local copy" \ + if=//$SERVER/$SHARE/$sourcepath of=$destpath bs=$bs +compare "Checking differences" $sourcepath $destpath + +# Check that copying within the remote server works +runcopy "Testing local -> remote copy" \ + if=//$SERVER/$SHARE/$sourcepath of=//$SERVER/$SHARE/$sourcepath bs=$bs +runcopy "Testing remote -> remote copy" \ + if=//$SERVER/$SHARE/$sourcepath of=//$SERVER/$SHARE/$destpath bs=$bs +runcopy "Testing remote -> local copy" \ + if=//$SERVER/$SHARE/$destpath of=$destpath bs=$bs +compare "Checking differences" $sourcepath $destpath + +done + +rm -f $sourcepath $destpath + +exit $failed |