From 1a4ac0261faf1ad73a0be5abb747af705c76aa7a Mon Sep 17 00:00:00 2001 From: Peter Stamfest Date: Sun, 24 Aug 2014 22:59:32 +0200 Subject: [PATCH] improve tests --- tests/create-with-source-1 | 40 ++++++++++------- tests/create-with-source-2 | 90 ++++++++++++++------------------------ 2 files changed, 57 insertions(+), 73 deletions(-) diff --git a/tests/create-with-source-1 b/tests/create-with-source-1 index e847d3df..58fe8e4f 100755 --- a/tests/create-with-source-1 +++ b/tests/create-with-source-1 @@ -3,7 +3,7 @@ . $(dirname $0)/functions BASE=$BASEDIR/$(basename $0)-test -BUILD=$BUILDDIR/$(basename $0)-test +PREFIX=$BUILDDIR/$(basename $0)-test # currently, we do not properly copy cdp and pdp information, so for # comparison of RRD dumps, we just filter out those parts we do not @@ -25,8 +25,10 @@ function xmlfilter { # test: remove the additional RRA from the second and compare dumps # test: add the additional RRA to the first and compare dumps +rm -f ${PREFIX}*.rrd ${PREFIX}*.xml + ST=1300000000 -$RRDTOOL create ${BUILD}a1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}a1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report create1 UPDATE= @@ -36,23 +38,23 @@ for A in $(seq $ST 60 $(($ST + 3000)) ) ; do V=$(($V + 20)) ST=$A done -$RRDTOOL update ${BUILD}a1.rrd $UPDATE +$RRDTOOL update ${PREFIX}a1.rrd $UPDATE -$RRDTOOL create ${BUILD}a2.rrd --start $ST --step 60 --source ${BUILD}a1.rrd DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}a2.rrd --start $ST --step 60 --source ${PREFIX}a1.rrd DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report create-with-source-1 -$RRDTOOL dump ${BUILD}a1.rrd | xmlfilter > ${BUILD}a1.xml -$RRDTOOL dump ${BUILD}a2.rrd | xmlfilter > ${BUILD}a2.xml -$DIFF ${BUILD}a1.xml ${BUILD}a2.xml +$RRDTOOL dump ${PREFIX}a1.rrd | xmlfilter > ${PREFIX}a1.xml +$RRDTOOL dump ${PREFIX}a2.rrd | xmlfilter > ${PREFIX}a2.xml +$DIFF ${PREFIX}a1.xml ${PREFIX}a2.xml report data-match -$RRDTOOL create ${BUILD}a3.rrd --start $ST --step 60 --source ${BUILD}a2.rrd DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 -$RRDTOOL dump ${BUILD}a3.rrd | xmlfilter > ${BUILD}a3.xml -$DIFF ${BUILD}a1.xml ${BUILD}a3.xml +$RRDTOOL create ${PREFIX}a3.rrd --start $ST --step 60 --source ${PREFIX}a2.rrd DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL dump ${PREFIX}a3.rrd | xmlfilter > ${PREFIX}a3.xml +$DIFF ${PREFIX}a1.xml ${PREFIX}a3.xml report data-match-again -$RRDTOOL create ${BUILD}a4.rrd --start $ST --step 60 --source ${BUILD}a2.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}a4.rrd --start $ST --step 60 --source ${PREFIX}a2.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report create-with-source-effectively-adding-DS UPDATE= @@ -63,17 +65,21 @@ for A in $(seq $ST 60 $(($ST + 3000)) ) ; do ST=$A done -$RRDTOOL update ${BUILD}a4.rrd --template a:b $UPDATE +$RRDTOOL update ${PREFIX}a4.rrd --template a:b $UPDATE report update-with-two-data-sources # now swap the two data sources -$RRDTOOL create ${BUILD}a5.rrd --start $ST --step 60 --source ${BUILD}a4.rrd DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}a5.rrd --start $ST --step 60 --source ${PREFIX}a4.rrd DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 # and swap the two data sources back, so we can then compare the outputs.... -$RRDTOOL create ${BUILD}a6.rrd --start $ST --step 60 --source ${BUILD}a5.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}a6.rrd --start $ST --step 60 --source ${PREFIX}a5.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 # now a4 and a6 must match.... -$RRDTOOL dump ${BUILD}a4.rrd | xmlfilter > ${BUILD}a4.xml -$RRDTOOL dump ${BUILD}a6.rrd | xmlfilter > ${BUILD}a6.xml -$DIFF ${BUILD}a4.xml ${BUILD}a6.xml +$RRDTOOL dump ${PREFIX}a4.rrd | xmlfilter > ${PREFIX}a4.xml +$RRDTOOL dump ${PREFIX}a6.rrd | xmlfilter > ${PREFIX}a6.xml +$DIFF ${PREFIX}a4.xml ${PREFIX}a6.xml report data-match-after-swap + + +rm -f ${PREFIX}*.rrd ${PREFIX}*.xml + diff --git a/tests/create-with-source-2 b/tests/create-with-source-2 index 8e924a23..27d5d5ad 100755 --- a/tests/create-with-source-2 +++ b/tests/create-with-source-2 @@ -3,7 +3,7 @@ . $(dirname $0)/functions BASE=$BASEDIR/$(basename $0)-test -BUILD=$BUILDDIR/$(basename $0)-test +PREFIX=$BUILDDIR/$(basename $0)-test # currently, we do not properly copy cdp and pdp information, so for # comparison of RRD dumps, we just filter out those parts we do not @@ -24,84 +24,62 @@ function xmlfilter { ST=1300000000 -rm -f ${BUILD}*.rrd ${BUILD}*.xml -$RRDTOOL create ${BUILD}a1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +rm -f ${PREFIX}*.rrd ${PREFIX}*.xml +$RRDTOOL create ${PREFIX}a1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report createa1 -$RRDTOOL create ${BUILD}b1.rrd --start $(($ST-1)) --step 60 DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}b1.rrd --start $(($ST-1)) --step 60 DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report createb1 -$RRDTOOL create ${BUILD}ab1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}ab1.rrd --start $(($ST-1)) --step 60 DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 report createab1 +$RRDTOOL create ${PREFIX}ba1.rrd --start $(($ST-1)) --step 60 DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +report createba1 + +$RRDTOOL create ${PREFIX}bca1.rrd --start $(($ST-1)) --step 60 DS:b:GAUGE:120:0:U DS:c:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +report createbca1 UPDATEA= UPDATEB= UPDATEAB= V=10 -for A in $(seq $ST 60 $(($ST + 3000)) ) ; do +for A in $(seq $ST 60 $(($ST + 9000)) ) ; do UPDATEA="$UPDATEA $A:$V" UPDATEB="$UPDATEB $A:$(($V * 2))" UPDATEAB="$UPDATEAB $A:$V:$(($V * 2))" V=$(($V + 20)) ST=$A done -$RRDTOOL update ${BUILD}a1.rrd $UPDATEA -$RRDTOOL update ${BUILD}b1.rrd $UPDATEB -$RRDTOOL update ${BUILD}ab1.rrd $UPDATEAB - - -$RRDTOOL create ${BUILD}ab2.rrd --start $ST --step 60 --source ${BUILD}a1.rrd --source ${BUILD}b1.rrd DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 -report create-with-two-sources - - - +$RRDTOOL update ${PREFIX}a1.rrd $UPDATEA +$RRDTOOL update ${PREFIX}b1.rrd $UPDATEB +$RRDTOOL update ${PREFIX}ab1.rrd $UPDATEAB +$RRDTOOL update ${PREFIX}ba1.rrd --template a:b $UPDATEAB +$RRDTOOL update ${PREFIX}bca1.rrd --template a:b $UPDATEAB -$RRDTOOL dump ${BUILD}ab1.rrd | xmlfilter > ${BUILD}ab1.xml -$RRDTOOL dump ${BUILD}ab2.rrd | xmlfilter > ${BUILD}ab2.xml -$DIFF ${BUILD}ab1.xml ${BUILD}ab2.xml -report data-match -AB1=$($RRDTOOL graph ${BUILD}ab1.png --end "$ST" --start end-1h DEF:a=${BUILD}ab1.rrd:a:AVERAGE DEF:b=${BUILD}ab1.rrd:b:AVERAGE CDEF:c=b,a,/ VDEF:v=c,TOTAL PRINT:v:%lg) -AB2=$($RRDTOOL graph ${BUILD}ab2.png --end "$ST" --start end-1h DEF:a=${BUILD}ab2.rrd:a:AVERAGE DEF:b=${BUILD}ab2.rrd:b:AVERAGE CDEF:c=b,a,/ VDEF:v=c,TOTAL PRINT:v:%lg) +$RRDTOOL create ${PREFIX}ab2.rrd --start $ST --step 60 --source ${PREFIX}a1.rrd --source ${PREFIX}b1.rrd DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +report create-ab-with-two-sources -[ "$AB1" = "$AB2" ] -report totalled-ratio -exit 0 +$RRDTOOL dump ${PREFIX}ab1.rrd | xmlfilter > ${PREFIX}ab1.xml +$RRDTOOL dump ${PREFIX}ab2.rrd | xmlfilter > ${PREFIX}ab2.xml +$DIFF ${PREFIX}ab1.xml ${PREFIX}ab2.xml +report data-match-ab +$RRDTOOL create ${PREFIX}ba2.rrd --start $ST --step 60 --source ${PREFIX}a1.rrd --source ${PREFIX}b1.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +report create-ba-with-two-sources -$RRDTOOL dump ${BUILD}a1.rrd | xmlfilter > ${BUILD}a1.xml -$RRDTOOL dump ${BUILD}a2.rrd | xmlfilter > ${BUILD}a2.xml -$DIFF ${BUILD}a1.xml ${BUILD}a2.xml -report data-match - -$RRDTOOL create ${BUILD}a3.rrd --start $ST --step 60 --source ${BUILD}a2.rrd DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 -$RRDTOOL dump ${BUILD}a3.rrd | xmlfilter > ${BUILD}a3.xml -$DIFF ${BUILD}a1.xml ${BUILD}a3.xml -report data-match-againg - -$RRDTOOL create ${BUILD}a4.rrd --start $ST --step 60 --source ${BUILD}a2.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 -report create-with-source-effectively-adding-DS - -UPDATE= -ST=$(($ST + 60)) -for A in $(seq $ST 60 $(($ST + 3000)) ) ; do - UPDATE="$UPDATE $A:$V:$((2 * $V))" - V=$(($V + 20)) - ST=$A -done +$RRDTOOL dump ${PREFIX}ba1.rrd | xmlfilter > ${PREFIX}ba1.xml +$RRDTOOL dump ${PREFIX}ba2.rrd | xmlfilter > ${PREFIX}ba2.xml +$DIFF ${PREFIX}ba1.xml ${PREFIX}ba2.xml +report data-match-ba -$RRDTOOL update ${BUILD}a4.rrd --template a:b $UPDATE -report update-with-two-data-sources -# now swap the two data sources -$RRDTOOL create ${BUILD}a5.rrd --start $ST --step 60 --source ${BUILD}a4.rrd DS:a:GAUGE:120:0:U DS:b:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +$RRDTOOL create ${PREFIX}bca2.rrd --start $ST --step 60 --source ${PREFIX}a1.rrd --source ${PREFIX}b1.rrd DS:b:GAUGE:120:0:U DS:c:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 +report create-bac-with-two-sources -# and swap the two data sources back, so we can then compare the outputs.... -$RRDTOOL create ${BUILD}a6.rrd --start $ST --step 60 --source ${BUILD}a5.rrd DS:b:GAUGE:120:0:U DS:a:GAUGE:120:0:U RRA:AVERAGE:0.5:1:100 RRA:AVERAGE:0.5:5:2 RRA:MIN:0.5:5:2 RRA:MAX:0.5:5:2 RRA:LAST:0.5:5:2 -# now a4 and a6 must match.... +$RRDTOOL dump ${PREFIX}bca1.rrd | xmlfilter > ${PREFIX}bca1.xml +$RRDTOOL dump ${PREFIX}bca2.rrd | xmlfilter > ${PREFIX}bca2.xml +$DIFF ${PREFIX}bca1.xml ${PREFIX}bca2.xml +report data-match-bca -$RRDTOOL dump ${BUILD}a4.rrd | xmlfilter > ${BUILD}a4.xml -$RRDTOOL dump ${BUILD}a6.rrd | xmlfilter > ${BUILD}a6.xml -$DIFF ${BUILD}a4.xml ${BUILD}a6.xml -report data-match-after-swap -- 2.47.2