1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
#!/bin/sh
# PCP QA Test No. 316
# exercise pmParseInterval
#
# 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
. ./common.check
status=1 # failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
_args()
{
_a=`echo "$1" | sed -e 's/ /\\\\ /g'`
shift
for s
do
arg="$arg $_a$s"
S=`echo "$s" | tr '[a-z]' '[A-Z]'`
arg="$arg $_a$S"
done
}
do_nsec()
{
arg=""
for a
do
_args "$a" nanosecond nanoseconds nsec nsecs
done
# sed needed for arithmetic precision and rounding differences between machines
#
eval src/parsehighresinterval $arg \
| sed \
-e 's/0.122999999 sec/0.123000000 sec/' \
-e 's/0.007999999 sec/0.008000000 sec/'
}
do_usec()
{
arg=""
for a
do
_args "$a" microsecond microseconds usec usecs
done
# sed needed for arithmetic precision and rounding differences between machines
#
eval src/parsehighresinterval $arg \
| sed \
-e 's/0.122999999 sec/0.123000000 sec/' \
-e 's/0.007999999 sec/0.008000000 sec/'
}
do_msec()
{
arg=""
for a
do
_args "$a" millisecond milliseconds msec msecs
done
# sed needed for arithmetic precision and rounding differences between machines
#
eval src/parseinterval $arg \
| sed \
-e 's/0.122999 sec/0.123000 sec/' \
-e 's/0.009122 sec/0.009123 sec/' \
-e 's/0.007999 sec/0.008000 sec/'
}
do_sec()
{
arg=""
for a
do
_args "$a" second seconds sec secs s
done
eval src/parseinterval $arg
for a
do
src/parseinterval "$a"
done
}
do_min()
{
arg=""
for a
do
_args "$a" minute minutes min mins m
done
eval src/parseinterval $arg
}
do_hour()
{
arg=""
for a
do
_args "$a" hour hours hr hrs h
done
eval src/parseinterval $arg
}
do_day()
{
arg=""
for a
do
_args "$a" day d
done
eval src/parseinterval $arg
}
# real QA test starts here
echo
echo "nanoseconds ..."
do_nsec 123 45.67 8. " 9.123 "
echo
echo "microseconds ..."
do_usec 123 45.67 8. " 9.123 "
echo
echo "milliseconds ..."
do_msec 123 45.67 8. " 9.123 "
echo
echo "seconds ..."
do_sec 123 45.67 8. " 9.123 "
echo
echo "minutes ..."
do_min 60 1.25 2. " 0.16666667 "
echo
echo "hours ..."
do_hour 2 1.5 10. " 0.333333333333 "
echo
echo "days ..."
do_day 1 1.5 10. " 0.083333333333 "
echo
echo "some hybrids ..."
src/parseinterval 1min30sec 1d1h1m1s1msec "1.5 hr 10 min 15 sec" \
| sed \
-e 's/90061.000999 sec/90061.001000 sec/'
src/parsehighresinterval "1 2 3 4 5 6 7 8 9 10" 55seconds
echo
echo "some errors ..."
src/parseinterval 123+sec 123.456.789min "4minutes 30secoonds" sec "123sec min" \
| sed \
-e 's/170.796000/170.795999/'
# success, all done
status=0
exit
|