From: Peter Stamfest Date: Mon, 25 Aug 2014 20:33:25 +0000 (+0200) Subject: add tests for no-overwrite functionality X-Git-Tag: v1.5.0-rc1~42^2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22b226214e770a3aefbb2e061e0aff9a4a593257;p=thirdparty%2Frrdtool-1.x.git add tests for no-overwrite functionality --- diff --git a/tests/create-no-overwrite b/tests/create-no-overwrite new file mode 100755 index 00000000..aab4ffa6 --- /dev/null +++ b/tests/create-no-overwrite @@ -0,0 +1,54 @@ +#!/bin/bash + +. $(dirname $0)/functions + +BASE=$BASEDIR/$(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 +# expect to match anyway... +function xmlfilter { + +#- 1010 +#- 4.0400000000e+04 +#- 0 +#+ U +#+ 0.0000000000e+00 +#+ 40 + + + perl -n -e '$a=join("",<>); $a=~s,<(cdp_prep|last_ds|value|unknown_sec).*?,,msg ; print $a' +} + + +ST=1300000000 + +rm -f ${PREFIX}*.rrd ${PREFIX}*.xml +$RRDTOOL create ${PREFIX}a1.rrd --no-overwrite --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 create-new-RRD + + +! $RRDTOOL create ${PREFIX}a1.rrd --no-overwrite --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 2>/dev/null +report fail-using-no-overwrite-1 + + +rm -f ${PREFIX}a1.rrd +touch ${PREFIX}a1.rrd +! $RRDTOOL create ${PREFIX}a1.rrd --no-overwrite --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 2>/dev/null +report fail-using-no-overwrite-2 + +rm -f ${PREFIX}a1.rrd +touch ${PREFIX}a1.rrd +$RRDTOOL create ${PREFIX}a1.rrd --no-overwrite --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 2>/dev/null +[ $? = 1 ] ; report "exit code == 1" + +rm -f ${PREFIX}a1.rrd +touch ${PREFIX}a1.rrd +$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 create-using-overwrite + +[ -s ${PREFIX}a1.rrd ] +report overwritten-rrd-size-larger-than-0 + +rm -f ${PREFIX}*.rrd ${PREFIX}*.xml