diff options
Diffstat (limited to 'qa/091')
-rwxr-xr-x | qa/091 | 87 |
1 files changed, 87 insertions, 0 deletions
@@ -0,0 +1,87 @@ +#! /bin/sh +# PCP QA Test No. 091 +# interpolate mode backwards +# +# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard filters +. ./common.product +. ./common.filter + +trap "rm -f $tmp.*; exit" 0 1 2 3 15 + +_filter_logreads() +{ + $PCP_AWK_PROG ' +/log reads/ { if ('$1' <= $4 && $4 <= '$2') + print $1 " samples required '$1' - '$2' log reads" + else + print $0 " ... no. log reads unexpected" + next + } + { print }' +} + +_filter_number() +{ + sed -e '/delta/s/: -*[0-9][0-9]*$/: NUMBER/' +} + +_filter_colour() +{ + sed \ + -e '/value\[0]:/{ +s/ red/ COLOUR/ +s/ yellow/ COLOUR/ +s/ green/ COLOUR/ +}' +} + +_filter_seconds() +{ + $PCP_AWK_PROG ' +BEGIN { previous = -1; sum = 0 } +/^delta/ { sum += -(int($2)); + if ($2 < -2 || $2 > 0) + printf("%s: Error - out of range !(-2<=%d<=0)\n", $0, $2); + else if (previous == $2 && previous != -1) + printf("$s: Error - previous (%d) == current (%d)\n", $0, previous, $2); + else + print "delta[0]: INT" + next + } + { print } +END { if (sum < 4 || sum > 7) + printf("sum of sample.seconds is out of range !(4<=%d<=7)\n", sum) + }' +} + +# real QA test starts here +for arch in src/foo src/mv-foo src/noti-foo +do + echo + echo "=== archive $arch ===" + echo + echo "metric: sample.seconds" + src/interp1 -s 6 -a $arch sample.seconds | _filter_logreads 8 12 | _filter_seconds + + echo "" + echo "metric: sample.bin" + src/interp1 -s 6 -a $arch sample.bin | _filter_logreads 8 12 + + echo "" + echo "metric: sample.colour" + src/interp1 -s 6 -a $arch sample.colour | _filter_number | _filter_logreads 8 12 + + echo "" + echo "metric: sample.drift" + src/interp1 -s 6 -a $arch sample.drift | _filter_number | _filter_logreads 8 12 + + echo "" + echo "metric: sample.lights" + src/interp1 -s 6 -a $arch sample.lights | _filter_colour | _filter_logreads 8 12 +done |