The 'check' program records timings for each test that is run. These timings are only valid, however, for a particular format/protocol combination. So if frequently running 'check' with a variety of different formats or protocols, the times printed can be very misleading.
Record the protocol/format in the check.time file and throw it away if it doesn't mach the current run args. Signed-off-by: Daniel P. Berrange <berra...@redhat.com> --- tests/qemu-iotests/check | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 4cba215..1a9bbb7 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -142,6 +142,11 @@ _timestamp() echo -n " [$now]" } +_timestamp_args() +{ + echo "# ARGS: protocol=$IMGPROTO, format=$IMGFMT" +} + _wrapup() { # for hangcheck ... @@ -158,13 +163,14 @@ _wrapup() if [ -f check.time -a -f $tmp.time ] then cat check.time $tmp.time \ - | $AWK_PROG ' + | grep -v '# ' | $AWK_PROG ' { t[$1] = $2 } END { if (NR > 0) { for (i in t) print i " " t[i] } }' \ | sort -n >$tmp.out + _timestamp_args >> $tmp.out mv $tmp.out check.time fi @@ -223,7 +229,18 @@ echo "preamble" > "${TEST_DIR}"/check.sts # don't leave old full output behind on a clean run rm -f check.full -[ -f check.time ] || touch check.time +# Check if previously recorded times were for the same +# image format/protocol, otherwise discard them +if test -f check.time +then + OLDARGS=`grep ARGS check.time` + NEWARGS=`_timestamp_args` + if test "x$OLDARGS" != "x$NEWARGS" + then + rm -f check.time + fi +fi +touch check.time FULL_IMGFMT_DETAILS=`_full_imgfmt_details` FULL_IMGPROTO_DETAILS=`_full_imgproto_details` -- 2.7.4