From 7b6120a1ffe5c23a1af5a5f33ba90ac751f7d01c Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 23 Aug 2013 16:01:27 +1000 Subject: [PATCH] Add 'dovtest'. This runs 'browser' mode under valgrind to look for errors. Signed-off-by: NeilBrown --- dovtest | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 dovtest diff --git a/dovtest b/dovtest new file mode 100755 index 0000000..b38bb46 --- /dev/null +++ b/dovtest @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +dir=$PWD + +while [ ! -f $dir/wiggle ] +do + if [ -z "$dir" ]; then + echo >&2 Cannot find wiggle program : $WIGGLE + exit 1 + fi + dir=${dir%/*} +done +export WIGGLE=$dir/wiggle + +if [ -d tests ] +then cd tests +fi + +vallog=/tmp/valg.log-$$ +> $vallog +VG="valgrind --log-file=$vallog" + +status=0 +ok=0 +fail=0 + +find . -name core | xargs rm -f +list=$(find . -type f -name merge ) + +WIGGLE="$WIGGLE --self-test" +for path in $list +do + dir=${path%/*} + ( + cd $dir + + if [ -f patch ] + then $VG $WIGGLE -B orig patch + elif [ -f new ] + then $VG $WIGGLE -B orig new new2 + else $VG $WIGGLE -B orig + fi + if grep 'ERROR SUMMARY: [1-9]' $vallog > /dev/null 2>&1 + then msg="VALGRIND ERRORS"; xit=1 + else msg="SUCCESS"; xit=0 + fi + echo $path $msg + exit $xit + ) + if [ $? = 0 ] + then let ok++; + else status=1 ; let fail++ + fi +done +find . -name core -ls +echo $ok succeeded and $fail failed +exit $status -- 2.43.0