From 60f8666ae88c5a03b0da58acb94015337442e18b Mon Sep 17 00:00:00 2001 From: James Peach Date: Tue, 31 Jan 2006 06:09:18 +0000 Subject: r13255: New CIFS dd client for use in performance testing. The guts of this is in client/cifsdd*, which implements a minimal implementation of dd. The IO path is careful to always perform IO at the requested block size. There is a very basic test suite in script/tests/test_cifsdd.sh which covers local and remote IO at a variety of block sizes. Added to lib/util_str.c is a small set of conv_str_*() functions to convert strings to the corresponding type. smbcli_parse_unc is modified to insert NULL terminators after its hostname and sharename parameters. This allows it to correctly parse a path of the form //foo/share/path/file. (This used to be commit cd2f94a65817bfae20ac21b730a2c42d8e581ab3) --- source4/script/tests/test_cifsdd.sh | 84 ++++++++++++++++++++++++++++++++++++ source4/script/tests/tests_all.sh | 1 + source4/script/tests/tests_client.sh | 2 + 3 files changed, 87 insertions(+) create mode 100755 source4/script/tests/test_cifsdd.sh create mode 100755 source4/script/tests/tests_client.sh (limited to 'source4/script') diff --git a/source4/script/tests/test_cifsdd.sh b/source4/script/tests/test_cifsdd.sh new file mode 100755 index 0000000000..9462187f9c --- /dev/null +++ b/source4/script/tests/test_cifsdd.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +# Basic script to make sure that cifsdd can do both local and remote I/O. + +if [ $# -lt 4 ]; then +cat < 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 +runcopy "Testing remote ->local copy" \ + 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 +runcopy "Testing remote ->local copy" \ + if=//$SERVER/$SHARE/$destpath of=$destpath bs=$bs || failtest +compare $sourcepath $destpath || failtest + +done + +rm -f $sourcepath $destpath + +testok $0 $failed diff --git a/source4/script/tests/tests_all.sh b/source4/script/tests/tests_all.sh index e940ec16c1..d5d20d8f92 100755 --- a/source4/script/tests/tests_all.sh +++ b/source4/script/tests/tests_all.sh @@ -10,3 +10,4 @@ $SRCDIR/script/tests/test_local.sh || failed=`expr $failed + $?` $SRCDIR/script/tests/test_pidl.sh || failed=`expr $failed + $?` $SRCDIR/script/tests/test_smbclient.sh $SERVER $USERNAME $PASSWORD $DOMAIN $PREFIX || failed=`expr $failed + $?` + $SRCDIR/script/tests/test_cifsdd.sh $SERVER $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?` diff --git a/source4/script/tests/tests_client.sh b/source4/script/tests/tests_client.sh new file mode 100755 index 0000000000..5a3c5eb79a --- /dev/null +++ b/source4/script/tests/tests_client.sh @@ -0,0 +1,2 @@ + $SRCDIR/script/tests/test_smbclient.sh $SERVER $USERNAME $PASSWORD $DOMAIN $PREFIX || failed=`expr $failed + $?` + $SRCDIR/script/tests/test_cifsdd.sh $SERVER $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?` -- cgit