[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 2/2] nbd-trplay: Add test case



Add a short test case for nbd-trplay

Signed-off-by: Manfred Spraul <manfred.spraul@de.bosch.com>
---
 tests/run/Makefile.am    |   5 +--
 tests/run/replay-test.tr | Bin 0 -> 116 bytes
 tests/run/simple_test    |  65 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 2 deletions(-)
 create mode 100644 tests/run/replay-test.tr

diff --git a/tests/run/Makefile.am b/tests/run/Makefile.am
index f41eb8d..4c2f635 100644
--- a/tests/run/Makefile.am
+++ b/tests/run/Makefile.am
@@ -4,7 +4,7 @@ else
 TLSSRC =
 endif
 TESTS_ENVIRONMENT=$(srcdir)/simple_test
-TESTS = cfg1 cfgmulti cfgnew cfgsize write flush integrity dirconfig list inetd \
+TESTS = cfg1 cfgmulti cfgnew cfgsize write flush integrity replay dirconfig list inetd \
 	rowrite tree rotree unix integrityhuge handshake tls tlswrongcert tlshuge
 XFAIL_TESTS=@RUN_XFAIL@
 check_PROGRAMS = nbd-tester-client
@@ -19,7 +19,7 @@ nbd_tester_client_CFLAGS += @GnuTLS_CFLAGS@
 nbd_tester_client_LDADD += @GnuTLS_LIBS@
 endif
 CLEANFILES = buffer.c crypto-gnutls.c cliserv.c
-EXTRA_DIST = integrity-test.tr integrityhuge-test.tr simple_test certs/client-key.pem certs/client-cert.pem certs/server-cert.pem certs/ca-cert.pem certs/ca.info certs/client.info certs/server-key.pem certs/ca-key.pem certs/server.info certs/README.md certs/selfsigned-cert.pem certs/selfsigned-key.pem
+EXTRA_DIST = integrity-test.tr integrityhuge-test.tr replay-test.tr simple_test certs/client-key.pem certs/client-cert.pem certs/server-cert.pem certs/ca-cert.pem certs/ca.info certs/client.info certs/server-key.pem certs/ca-key.pem certs/server.info certs/README.md certs/selfsigned-cert.pem certs/selfsigned-key.pem
 cfg1:
 cfgmulti:
 cfgnew:
@@ -27,6 +27,7 @@ cfgsize:
 write:
 flush:
 integrity:
+replay:
 integrityhuge:
 dirconfig:
 list:
diff --git a/tests/run/replay-test.tr b/tests/run/replay-test.tr
new file mode 100644
index 0000000000000000000000000000000000000000..f9046c21500291911e61cc4e5d4f790d5a2ced3b
GIT binary patch
literal 116
zcmY#Qm@3S`z`$q=B7hhI1b`G1L%K`a3=khCrwUce0+t2IfPfhg3&7RF<e+Mqz)H{v
E025UQz5oCK

literal 0
HcmV?d00001

diff --git a/tests/run/simple_test b/tests/run/simple_test
index fe317f3..80dede8 100755
--- a/tests/run/simple_test
+++ b/tests/run/simple_test
@@ -16,6 +16,7 @@ tmpdir=`mktemp -d $TMPDIR/tmp.XXXXXX`
 conffile=${tmpdir}/nbd.conf
 pidfile=${tmpdir}/nbd.pid
 tmpnam=${tmpdir}/nbd.dd
+lognam=${tmpdir}/nbd.tr
 mydir=$(dirname $0)
 certdir=$($REALPATH ${mydir}/certs)
 cleanup="$2"
@@ -48,6 +49,21 @@ abort() {
 	kill -INT $$
 }
 
+replaycheck() {
+# $1: correct md5 value
+# $2: count
+	dd if=/dev/zero of=${tmpnam}-$2 bs=1024 count=4096 >/dev/null 2>&1
+	../../nbd-trplay -i ${tmpnam}-$2 -l $lognam -m $2 -b 512 > /dev/null
+	sol=$(md5sum < ${tmpnam}-$2)
+	if [ "$sol" = "$1  -" ];
+	then
+		return 0
+	else
+		echo "mismatch with count $2: expected $1, got $sol"
+		return 1
+	fi
+}
+
 trap -- cleanup EXIT
 trap -- abort INT
 
@@ -247,6 +263,55 @@ EOF
 		./nbd-tester-client -N export1 -i -t ${mydir}/integrityhuge-test.tr localhost
 		retval=$?
 	;;
+
+	*/replay)
+		# Check replay app
+		cat >${conffile} <<EOF
+[generic]
+[export1]
+	exportname = $tmpnam
+	flush = true
+	fua = true
+	transactionlog = $lognam
+	datalog = true
+	flush = true
+	fua = true
+	rotational = true
+	filesize = 52428800
+	temporary = true
+EOF
+		../../nbd-server -C ${conffile} -p ${pidfile} &
+		PID=$!
+		sleep $DELAY
+		./nbd-tester-client -N export1 -i -t ${mydir}/replay-test.tr localhost
+		retval=$?
+		if [ $retval -eq 0 ]
+		then
+			replaycheck 65135e9511b4c519a0474e4543d52dc2  1
+			retval=$?
+		fi
+		if [ $retval -eq 0 ]
+		then
+			replaycheck c571c5b1c190e68d0bcd8bce8861ad1b  3
+			retval=$?
+		fi
+		if [ $retval -eq 0 ]
+		then
+			replaycheck fd3065799a842ce227125f3a2282bf79  5
+			retval=$?
+		fi
+		if [ $retval -eq 0 ]
+		then
+			replaycheck f74123f1b41113b9fec915039e09ce66  9
+			retval=$?
+		fi
+		if [ $retval -eq 0 ]
+		then
+			replaycheck f74123f1b41113b9fec915039e09ce66  10
+			retval=$?
+		fi
+	;;
+
 	*/list)
 		# List exports
 		# This only works if we built nbd-client, which only exists on
-- 
2.35.1


Reply to: