summaryrefslogtreecommitdiffstats
path: root/testprogs
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-01-14 01:39:34 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:40:36 -0500
commitf60f9de6a833237767d1988ea67bc5d3368a4354 (patch)
tree9a0e01459d9e0af315c7c3f7d1a4f4982be696d7 /testprogs
parentd9665a737b978d0fcca1fd23ab04858e2fa81284 (diff)
downloadsamba-f60f9de6a833237767d1988ea67bc5d3368a4354.tar.gz
samba-f60f9de6a833237767d1988ea67bc5d3368a4354.tar.xz
samba-f60f9de6a833237767d1988ea67bc5d3368a4354.zip
r20747: Move cifsdd to blackbox section
(This used to be commit 96ac1c62eef29e8c8c1df9719b6785134efe525c)
Diffstat (limited to 'testprogs')
-rwxr-xr-xtestprogs/blackbox/test_cifsdd.sh90
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