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 : |
178 |
( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > ./dir_all |
( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > ./dir_all |
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 meander lagoon harbor dickens danton aces" |
182 |
MACHINES="$MACHINES columbia edvir rays sx8 xd1" |
MACHINES="$MACHINES beagle columbia edvir rays solasrv sx8 xd1" |
183 |
MACHINES="$MACHINES beagle batsi starp" |
MACHINES="$MACHINES bigred 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` |
186 |
for madd in $MALL ; do |
for madd in $MALL ; do |
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" |
260 |
else |
else |
261 |
kind="restart" |
kind="restart" |
262 |
fi |
fi |
263 |
|
if test "x$MTH" = x1 ; then |
264 |
|
yy=`echo $OPTFILE | grep -c '+mth$'` |
265 |
|
if test $yy = 0 ; then OPTFILE="${OPTFILE}+mth" ; fi |
266 |
|
fi |
267 |
if test "x$NOI3E" = x1 ; then |
if test "x$NOI3E" = x1 ; then |
268 |
OPTFILE="${OPTFILE}.noieee" |
OPTFILE="${OPTFILE}.noieee" |
269 |
fi |
fi |
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 |