2006-06-05 00:36:52 +04:00
#!/bin/sh
2006-01-31 09:09:18 +03:00
# 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
2006-09-22 19:14:53 +04:00
DEBUGLEVEL = 1
2006-01-31 09:09:18 +03:00
failed = 0
failtest( ) {
failed = ` expr $failed + 1`
}
runcopy( ) {
message = " $1 "
shift
testit " $message " $DD --debuglevel= $DEBUGLEVEL -W " $DOMAIN " -U " $USERNAME " %" $PASSWORD " \
" $@ "
}
compare( ) {
2006-09-09 14:22:47 +04:00
cmp " $1 " " $2 "
2006-01-31 09:09:18 +03:00
}
incdir = ` dirname $0 `
. $incdir /test_functions.sh
sourcepath = tempfile.src.$$
destpath = tempfile.dst.$$
# Create a source file with arbitrary contents
2006-09-22 19:14:53 +04:00
dd if = $DD of = $sourcepath bs = 1024 count = 50 > /dev/null
ls -l $sourcepath
2006-01-31 09:09:18 +03:00
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 || failtest
compare $sourcepath $destpath || failtest
# Check whether we can do a round trip
runcopy "Testing local -> remote copy" \
if = $sourcepath of = //$SERVER /$SHARE /$sourcepath bs = $bs || failtest
2006-07-13 20:11:38 +04:00
runcopy "Testing remote -> local copy" \
2006-01-31 09:09:18 +03:00
if = //$SERVER /$SHARE /$sourcepath of = $destpath bs = $bs || failtest
compare $sourcepath $destpath || failtest
# Check that copying within the remote server works
runcopy "Testing local -> remote copy" \
if = //$SERVER /$SHARE /$sourcepath of = //$SERVER /$SHARE /$sourcepath bs = $bs || failtest
runcopy "Testing remote -> remote copy" \
if = //$SERVER /$SHARE /$sourcepath of = //$SERVER /$SHARE /$destpath bs = $bs || failtest
2006-07-13 20:11:38 +04:00
runcopy "Testing remote -> local copy" \
2006-01-31 09:09:18 +03:00
if = //$SERVER /$SHARE /$destpath of = $destpath bs = $bs || failtest
compare $sourcepath $destpath || failtest
done
rm -f $sourcepath $destpath
testok $0 $failed