Skip to content

Commit

Permalink
iotests: record separate timings per format,protocol pair
Browse files Browse the repository at this point in the history
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.

Instead of having a single 'check.time' file, maintain
multiple 'check.time-$IMGPROTO-$IMGFMT' files.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 20170103160556.9895-1-berrange@redhat.com
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
  • Loading branch information
berrange authored and XanClic committed Feb 11, 2017
1 parent 53b6346 commit 36bd422
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion tests/qemu-iotests/.gitignore
@@ -1,5 +1,5 @@
check.log
check.time
check.time*
common.env
*.out.bad
*.notrun
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/Makefile
@@ -1,5 +1,5 @@

CLEANFILES= *.out.bad *.notrun check.log check.time
CLEANFILES= *.out.bad *.notrun check.log check.time*

# no default target
default:
Expand Down
12 changes: 7 additions & 5 deletions tests/qemu-iotests/check
Expand Up @@ -129,6 +129,8 @@ fi
# exit 1
#fi

TIMESTAMP_FILE=check.time-$IMGPROTO-$IMGFMT

tmp="${TEST_DIR}"/$$

_wallclock()
Expand All @@ -155,17 +157,17 @@ _wrapup()
:
elif $needwrap
then
if [ -f check.time -a -f $tmp.time ]
if [ -f $TIMESTAMP_FILE -a -f $tmp.time ]
then
cat check.time $tmp.time \
cat $TIMESTAMP_FILE $tmp.time \
| $AWK_PROG '
{ t[$1] = $2 }
END { if (NR > 0) {
for (i in t) print i " " t[i]
}
}' \
| sort -n >$tmp.out
mv $tmp.out check.time
mv $tmp.out $TIMESTAMP_FILE
fi

if [ -f $tmp.expunged ]
Expand Down Expand Up @@ -223,7 +225,7 @@ 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
[ -f $TIMESTAMP_FILE ] || touch $TIMESTAMP_FILE

FULL_IMGFMT_DETAILS=`_full_imgfmt_details`
FULL_IMGPROTO_DETAILS=`_full_imgproto_details`
Expand Down Expand Up @@ -277,7 +279,7 @@ do
# really going to try and run this one
#
rm -f $seq.out.bad
lasttime=`sed -n -e "/^$seq /s/.* //p" <check.time`
lasttime=`sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE`
if [ "X$lasttime" != X ]; then
echo -n " ${lasttime}s ..."
else
Expand Down

0 comments on commit 36bd422

Please sign in to comment.