/[MITgcm]/MITgcm_contrib/test_scripts/faulks/make_summary
ViewVC logotype

Annotation of /MITgcm_contrib/test_scripts/faulks/make_summary

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Nov 28 20:28:43 2003 UTC (22 years, 9 months ago) by edhill
Branch: MAIN
 o initial check-in

1 edhill 1.1 #!/bin/bash
2    
3     # $Header: /u/u3/gcmpack/development/edhill/make_summary,v 1.8 2003/11/28 17:44:02 edhill Exp $
4    
5     # Ed Hill
6    
7     # The purpose of this script is to create HTML summaries of the
8     # directories produced by the "parse_emails" script.
9    
10    
11     usage()
12     {
13     echo
14     echo "Usage: $0 [OPTIONS]"
15     echo
16     echo "where possible OPTIONS are:"
17     echo " (-help|-h) print usage"
18     echo " (-date |-d )PERIOD run for PERIOD=\"YYYY_MM\""
19     echo " [def=\"$PERIOD\"]"
20     echo
21     exit 1
22     }
23    
24     # defaults
25     PERIOD=`date +%Y`"_"`date +%m`
26    
27     # Parse options
28     ac_prev=
29     for ac_option ; do
30    
31     # If the previous option needs an argument, assign it.
32     if test -n "$ac_prev"; then
33     eval "$ac_prev=\$ac_option"
34     ac_prev=
35     continue
36     fi
37    
38     ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
39    
40     case $ac_option in
41    
42     -help | --help | -h | --h)
43     usage ;;
44    
45     -date | --date | -d | --d)
46     ac_prev=PERIOD ;;
47     --date=* | -date=*)
48     PERIOD=$ac_optarg ;;
49    
50     *)
51     echo "Error: don't understand argument \"$ac_option\""
52     usage
53     ;;
54    
55     esac
56    
57     done
58    
59     INDIR="/u/u0/httpd/html/testing/results/$PERIOD"
60     OUTDIR="/u/u0/httpd/html/testing/summary"
61     OUTFILE=$OUTDIR"/summary_"$PERIOD".html"
62    
63    
64     # Create the summary file for $PERIOD
65     echo -n "Creating the summary file for the period \"$PERIOD\" ... "
66     cat > $OUTFILE << EOF
67     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
68     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
69    
70     <html xmlns="http://www.w3.org/1999/xhtml">
71     <head>
72     <title>MITgcm testing summary</title>
73     <meta name="author" content="Ed Hill" />
74     <base href="http://mitgcm.org/testing/summary/" />
75     </head>
76     <body>
77     <table cellpadding="0" cellspacing="0" border="0" width="100%">
78    
79     EOF
80    
81     # all_files=`find $INDIR -name summary.txt`
82     all_files=`( cd $INDIR ; find . -name summary.txt )`
83    
84     for f in $all_files ; do
85    
86     file=$INDIR"/"${f/.\//}
87     grep "^fresults" $file > /dev/null 2>&1
88     RETVAL=$?
89     if test "x$RETVAL" != x0 ; then
90     continue
91     fi
92    
93     url=`echo $file | sed -e 's|/u/edhill/www|http://mitgcm.org/~edhill|'`
94     url=`echo $url | sed -e 's|summary.txt||'`
95     MACH=
96     fresults=
97     color="#eeeeee"
98    
99     source $file
100     echo $fresults | grep FAIL > /dev/null 2>&1
101     if test "x$?" = x0 ; then
102     color="#ff99ff"
103     fi
104     echo $fresults | grep pass > /dev/null 2>&1
105     if test "x$?" = x0 ; then
106     color="#99ffff"
107     fi
108    
109     gm_state=`echo $file | sed -e 's/summary.txt/genmake_state/g'`
110     if test -r $gm_state ; then
111     grep '^OPTFILE=' $gm_state > ./tmp_state
112     source ./tmp_state
113     else
114     optfile="unknown"
115     fi
116     optfile=`echo $OPTFILE | awk -F '/' '{print $NF}'`
117    
118     echo "<tr bgcolor=\"$color\">" >> $OUTFILE
119     echo "<td height=\"0\">$MACH</td>" >> $OUTFILE
120     echo "<td><a href=\"$url\">$DATE</a></td>" >> $OUTFILE
121     for i in $fresults ; do
122     if test "x$i" = xN ; then
123     echo -n "<td bgcolor=\"#ff6666\">$i</td>" >> $OUTFILE
124     else
125     echo -n "<td>$i</td>" >> $OUTFILE
126     fi
127     done
128     echo "<td>$optfile</td>" >> $OUTFILE
129     echo "</tr>" >> $OUTFILE
130    
131     done
132    
133     cat >> $OUTFILE << EOF
134    
135     </table>
136     </body>
137     </html>
138    
139     EOF
140    
141     chmod a+r $OUTFILE
142     echo "done"
143    
144    
145     # Create the "latest" links
146     echo "Creating the \"latest\" file for each machine: "
147     LATEST=$OUTDIR"/latest_"$PERIOD".html"
148     cat > $LATEST << EOF
149     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
150     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
151    
152     <html xmlns="http://www.w3.org/1999/xhtml">
153     <head>
154     <title>MITgcm testing summary</title>
155     <meta name="author" content="Ed Hill" />
156     <base href="http://mitgcm.org/testing/summary/" />
157     </head>
158     <body>
159     <p>The following are the most recent MITgcm testing runs for the
160     time period <b>$PERIOD</b>.<br /><br />
161     The machine naming scheme is:<br /></p>
162     <table align="center" border="0">
163     <tr bgcolor="#00cccc"> <td><b>Machine</b></td> <td><b>"Nickname"</b></td>
164     <td><b>Notes</b></td> </tr>
165     <tr bgcolor="#bbffdd"> <td>faulks.lcs.mit.edu</td> <td>"faulks"</td>
166     <td>The original test box: RH GCC 2.96</td> </tr>
167     <tr bgcolor="#bbddff"> <td>shelley.lcs.mit.edu</td> <td>"shelley"</td>
168     <td>RH 9 w/ GCC 3.2.2</td> </tr>
169     <tr bgcolor="#bbffdd"> <td>cg01.lcs.mit.edu cluster</td> <td>"myrinet"</td>
170     <td></td> </tr>
171     <tr bgcolor="#bbddff"> <td>Halem Alpha cluster</td> <td>"halem"</td>
172     <td></td> </tr>
173     <!--
174     <tr bgcolor="#"> <td></td> <td></td> <td></td> </tr>
175     -->
176     </table>
177     <br />
178     <table cellpadding="0" cellspacing="0" border="0" width="100%">
179     <tr bgcolor="#00cccc">
180     <td height="0"> <b>"Nickname"</b> </td>
181     <td> <b>OPTFILE Name</b> </td>
182     <td> <b>Date (YYYYMMDD)</b> </td>
183     </tr>
184    
185     EOF
186    
187     color="#bbffdd"
188    
189     MACHINES="faulks shelley myrinet halem"
190    
191     ( cd $INDIR ; ls -1 ) > ./dir_all
192    
193     for mname in $MACHINES ; do
194    
195     echo " $mname"
196     if test "x$color" = x#bbffdd ; then
197     color="#bbddff"
198     else
199     color="#bbffdd"
200     fi
201    
202     dir_list=`grep $mname ./dir_all`
203     echo -n "" > ./mlist
204    
205     for i in $dir_list ; do
206    
207     dir=$INDIR"/"$i
208     OPTFILE=
209     if test -r $dir/summary.txt ; then
210     comm=`grep 'OPTFILE=' $dir/summary.txt`
211     eval $comm
212     OPTFILE=${OPTFILE##*/}
213     fi
214     if test "x$OPTFILE" = x -a -r "$dir/genmake_state" ; then
215     comm=`grep 'OPTFILE=' $dir/genmake_state`
216     eval $comm
217     OPTFILE=${OPTFILE##*/}
218     fi
219     DAY=`echo $i | sed -e 's|_|\n|g' | awk '(length($1)==8 && substr($1,0,3)=="200")'`
220     echo "$OPTFILE $DAY $i" >> ./mlist
221    
222     done
223    
224     # Do we have any data? If so, create the latest pointer.
225     num=`wc -l ./mlist | awk '{print $1}'`
226     if test $num -gt 0 ; then
227     optfiles=`cat ./mlist | cut -d " " -f 1 | sort | uniq`
228    
229     for i in $optfiles ; do
230     ldir=`grep "^$i " ./mlist | sort -r | head -1 | cut -d " " -f 3`
231     URL="../results/$PERIOD/$ldir"
232     cat <<EOF >>$LATEST
233     <tr bgcolor="$color">
234     <td height="0"><a href="$URL"> $mname </a></td>
235     <td> $i </td>
236     <td> $DAY </td>
237     </tr>
238     EOF
239     done
240     fi
241    
242     done
243    
244     cat >> $LATEST << EOF
245    
246     </table>
247     </body>
248     </html>
249    
250     EOF
251    
252     rm -f ./dir_all ./mlist
253    
254     CURR_PER=`date +%Y`"_"`date +%m`
255     if test "x$PERIOD" = "x$CURR_PER" ; then
256     (
257     cd $OUTDIR
258     rm -f latest.html
259     ln -s $LATEST latest.html
260     # cd ..
261     # rm -f latest.html
262     # ln -s summary/latest.html latest.html
263     )
264     fi

  ViewVC Help
Powered by ViewVC 1.1.22