| 18 |
echo " (-l |-list )MACHINES check platforms from this list" |
echo " (-l |-list )MACHINES check platforms from this list" |
| 19 |
echo " [def=\"$MACHINES\"]" |
echo " [def=\"$MACHINES\"]" |
| 20 |
echo " (-d |-day )FIRSTDAY select output from day=\"YYYYMMDD\"" |
echo " (-d |-day )FIRSTDAY select output from day=\"YYYYMMDD\"" |
| 21 |
|
echo " (argument of \"date -d\" is allowed)" |
| 22 |
echo " [def=\"$FIRSTDAY\"]" |
echo " [def=\"$FIRSTDAY\"]" |
| 23 |
echo " (-u |-upto )LASTDAY until last day=\"YYYYMMDD\" (=selected period)" |
echo " (-u |-upto )LASTDAY until last day=\"YYYYMMDD\" (=selected period)" |
| 24 |
echo " [def=\"FIRSTDAY\"]" |
echo " [def=\"FIRSTDAY\"]" |
| 43 |
ADDRESS='none' |
ADDRESS='none' |
| 44 |
dBug=f |
dBug=f |
| 45 |
sTime=`date` |
sTime=`date` |
| 46 |
|
#- to get case insensitive "ls" (and order of tested experiments) |
| 47 |
|
export LC_ALL="en_US.UTF-8" |
| 48 |
|
|
| 49 |
# Parse options |
# Parse options |
| 50 |
ac_prev= |
ac_prev= |
| 104 |
esac |
esac |
| 105 |
|
|
| 106 |
done |
done |
| 107 |
|
#-- test FIRSTDAY content ; interpret as "date -d" arg. if not YYYYMMDD |
| 108 |
|
ttt=`echo "y$FIRSTDAY" | sed 's/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/z/'` |
| 109 |
|
if test "x$ttt" != 'xyz' ; then |
| 110 |
|
FIRSTDAY=`date -d "$FIRSTDAY" +%Y%m%d` |
| 111 |
|
fi |
| 112 |
|
ttt=`echo "y$FIRSTDAY" | sed 's/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/z/'` |
| 113 |
|
if test "x$ttt" != 'xyz' ; then |
| 114 |
|
echo "Error: FIRSTDAY='$FIRSDAY' not recognized" |
| 115 |
|
exit 2 |
| 116 |
|
fi |
| 117 |
if test $LASTDAY = "30000000" ; then LASTDAY=$FIRSTDAY ; fi |
if test $LASTDAY = "30000000" ; then LASTDAY=$FIRSTDAY ; fi |
| 118 |
CMDLINE=$0 |
CMDLINE=$0 |
| 119 |
for xx in "$@" ; do nw=`echo $xx | wc -w` |
for xx in "$@" ; do nw=`echo $xx | wc -w` |
| 157 |
fi |
fi |
| 158 |
else |
else |
| 159 |
echo "$INDIR is not a directory" |
echo "$INDIR is not a directory" |
| 160 |
exit |
exit 3 |
| 161 |
fi |
fi |
| 162 |
|
|
| 163 |
#- a short summary of this checking : |
#- a short summary of this checking : |
| 179 |
|
|
| 180 |
if test "x$MACHINES" = "x_All_" ; then |
if test "x$MACHINES" = "x_All_" ; then |
| 181 |
MACHINES="faulks aces eddy bay meander lagoon hugo" |
MACHINES="faulks aces eddy bay meander lagoon hugo" |
| 182 |
MACHINES="$MACHINES columbia edvir rays sx8 xd1" |
MACHINES="$MACHINES columbia edvir rays solasrv sx8 xd1" |
| 183 |
MACHINES="$MACHINES beagle batsi starp" |
MACHINES="$MACHINES beagle batsi starp" |
| 184 |
|
|
| 185 |
MALL=`cat ./dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq` |
MALL=`cat ./dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq` |
| 211 |
if test $n == 2 ; then |
if test $n == 2 ; then |
| 212 |
num2=`expr $num1 \* $n` |
num2=`expr $num1 \* $n` |
| 213 |
if [ $num0 -lt $num2 ] ; then |
if [ $num0 -lt $num2 ] ; then |
| 214 |
dir_list=`( cd $INDIR ; ls -1 -t ../$PREV_P/*${mname}*/summary.txt | sed 's/\/summary.txt//' )` |
dir_list=`( cd $INDIR ; ls -1 -t ../$PREV_P/*${mname}*/summary.txt 2> /dev/null | sed 's/\/summary.txt//' )` |
| 215 |
#echo "dir_list='$dir_list'" |
#echo "dir_list='$dir_list'" |
| 216 |
fi |
fi |
| 217 |
else |
else |
| 246 |
ADJOINT= |
ADJOINT= |
| 247 |
RESTART=0 |
RESTART=0 |
| 248 |
NOI3E=0 |
NOI3E=0 |
| 249 |
|
MTH=0 |
| 250 |
if test -r $dir/summary.txt ; then |
if test -r $dir/summary.txt ; then |
| 251 |
comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null` |
comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null` |
| 252 |
eval $comm |
eval $comm |
| 253 |
RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt` |
RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt` |
| 254 |
NOI3E=`grep -c "^run: .*testreport .* '-noieee' " $dir/summary.txt` |
NOI3E=`grep -c "^run: .*testreport.* '*-noieee'* " $dir/summary.txt` |
| 255 |
|
MTH=`grep -c "^run: .*testreport.* -mth " $dir/summary.txt` |
| 256 |
fi |
fi |
| 257 |
if test "x$RESTART" = x0 ; then |
if test "x$RESTART" = x0 ; then |
| 258 |
kind="forward" |
kind="forward" |
| 263 |
if test "x$NOI3E" = x1 ; then |
if test "x$NOI3E" = x1 ; then |
| 264 |
OPTFILE="${OPTFILE}.noieee" |
OPTFILE="${OPTFILE}.noieee" |
| 265 |
fi |
fi |
| 266 |
|
if test "x$MTH" = x1 ; then |
| 267 |
|
yy=`echo $OPTFILE | grep -c 'mth$'` |
| 268 |
|
if test $yy = 0 ; then OPTFILE="${OPTFILE}+mth" ; fi |
| 269 |
|
fi |
| 270 |
day=`echo $i | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'` |
day=`echo $i | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'` |
| 271 |
ttt=`echo $day | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'` |
ttt=`echo $day | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'` |
| 272 |
day=`echo $ttt | sed -e 's|_| |g' |awk '{print $NF}'` |
day=`echo $ttt | sed -e 's|_| |g' |awk '{print $NF}'` |
| 288 |
cat ./slist | tee -a $OUTPFIL |
cat ./slist | tee -a $OUTPFIL |
| 289 |
fi |
fi |
| 290 |
echo ".... previous list (n=$n):" | tee -a $OUTPFIL |
echo ".... previous list (n=$n):" | tee -a $OUTPFIL |
| 291 |
cat ./plist | tee -a $OUTPFIL |
cat ./plist | tee -a $OUTPFIL | head -20 |
| 292 |
fi |
fi |
| 293 |
|
|
| 294 |
fi |
fi |
| 310 |
num=`grep -c "^$key" ./plist` |
num=`grep -c "^$key" ./plist` |
| 311 |
#- discard unsafe test: |
#- discard unsafe test: |
| 312 |
dd=`echo $optf | grep -c 'gfortran.*mth'` |
dd=`echo $optf | grep -c 'gfortran.*mth'` |
| 313 |
if [ $dd -ge 1 ] ; then num=-1 ; fi |
#if test $mname = 'lagoon' -a $dd = 1 ; then num=-1 ; fi |
| 314 |
|
#if test $mname = 'harbor' -a $dd = 1 ; then num=-1 ; fi |
| 315 |
|
#if test $mname = 'aces' -a $optf = 'linux_ia32_open64' ; then num=-1 ; fi |
| 316 |
|
#if test $mname = 'aces' -a $optf = 'linux_ia32_g95' ; then num=-1 ; fi |
| 317 |
if test $num -gt 0 ; then |
if test $num -gt 0 ; then |
| 318 |
pline=`grep "^$key " ./plist | head -1` |
pline=`grep "^$key " ./plist | head -1` |
| 319 |
if test $dBug = 't' ; then |
if test $dBug = 't' ; then |
| 323 |
pdir=`echo $pline | cut -d " " -f 5` |
pdir=`echo $pline | cut -d " " -f 5` |
| 324 |
outs="$INDIR/$sdir/summary.txt" |
outs="$INDIR/$sdir/summary.txt" |
| 325 |
sed -n "5,$ p" $outs | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \ |
sed -n "5,$ p" $outs | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \ |
| 326 |
|
| sed 's/ OPTFILE=.*\// OPTFILE=/g' \ |
| 327 |
| grep -v '^[A-S][a-t]* time: ' > tmpfs |
| grep -v '^[A-S][a-t]* time: ' > tmpfs |
| 328 |
outp="$INDIR/$pdir/summary.txt" |
outp="$INDIR/$pdir/summary.txt" |
| 329 |
sed -n "5,$ p" $outp | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \ |
sed -n "5,$ p" $outp | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \ |
| 330 |
|
| sed 's/ OPTFILE=.*\// OPTFILE=/g' \ |
| 331 |
| grep -v '^[A-S][a-t]* time: ' > tmpfp |
| grep -v '^[A-S][a-t]* time: ' > tmpfp |
| 332 |
|
#-- re-order list of exp (according to local "sort" order) |
| 333 |
|
listD=`grep '^[YN] [YN] [YN] [YN]' tmpfs \ |
| 334 |
|
| sed 's/^[YN] .*pass //' | sed 's/^[YN] .*FAIL //' \ |
| 335 |
|
| sed 's/^[YN] .*N\/O //' | sort` |
| 336 |
|
for xx in $listD |
| 337 |
|
do |
| 338 |
|
sed "/ $xx\$/d" tmpfs > tmpfn |
| 339 |
|
sed -n "/ $xx\$/p" tmpfs >> tmpfn |
| 340 |
|
mv tmpfn tmpfs |
| 341 |
|
done |
| 342 |
|
listD=`grep '^[YN] [YN] [YN] [YN]' tmpfp \ |
| 343 |
|
| sed 's/^[YN] .*pass //' | sed 's/^[YN] .*FAIL //' \ |
| 344 |
|
| sed 's/^[YN] .*N\/O //' | sort` |
| 345 |
|
for xx in $listD |
| 346 |
|
do |
| 347 |
|
sed "/ $xx\$/d" tmpfp > tmpfn |
| 348 |
|
sed -n "/ $xx\$/p" tmpfp >> tmpfn |
| 349 |
|
mv tmpfn tmpfp |
| 350 |
|
done |
| 351 |
echo -n "=== diff $sdir $pdir :" | tee -a $OUTPFIL |
echo -n "=== diff $sdir $pdir :" | tee -a $OUTPFIL |
| 352 |
diff tmpfs tmpfp > tmpdf |
diff tmpfs tmpfp > tmpdf |
| 353 |
yy=$? |
yy=$? |
| 416 |
fi |
fi |
| 417 |
echo ".. cat $OUTPSUM" |
echo ".. cat $OUTPSUM" |
| 418 |
cat $OUTPSUM |
cat $OUTPSUM |
| 419 |
|
exit 0 |