You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2008/05/29 01:52:00 UTC
svn commit: r661152 - in /stdcxx/branches/4.2.x/bin: duration genxviews
xbuildgen xcomp.awk
Author: sebor
Date: Wed May 28 16:52:00 2008
New Revision: 661152
URL: http://svn.apache.org/viewvc?rev=661152&view=rev
Log:
2008-05-28 Martin Sebor <se...@roguewave.com>
* bin/genxviews (date): Defined at the top of the script to make
it accessible throughout.
(process_results): Computed and formatted the age of each batch
of log files in addition to the timestamp of the oldest one.
* bin/xbuildgen (myrev, myurl, myname): Computed constants from
the $HeadURL$ Subversion keyword same as in genxviews.
(print_help): Added -V option.
(resultstyle.css): Added EXEC entry.
Passed the version argument to xcomp.awk.
* bin/duration (convert_windows_date): New function to convert
date in Windows "Day MM/DD/YYYY" format to the POSIX %c format.
(convert_ls_date): New function to convert ls-style timestamps
to the POSIX %c format.
(seconds_from_epoch): Called convert_windows_date or
convert_ls_date to convert Windows or ls-style timestamps to
the expected POSIX %c format.
* bin/xcomp.awk (version): Added a new variable to make it
possible to select branches in addition to trunk.
Modified:
stdcxx/branches/4.2.x/bin/duration
stdcxx/branches/4.2.x/bin/genxviews
stdcxx/branches/4.2.x/bin/xbuildgen
stdcxx/branches/4.2.x/bin/xcomp.awk
Modified: stdcxx/branches/4.2.x/bin/duration
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/bin/duration?rev=661152&r1=661151&r2=661152&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/bin/duration (original)
+++ stdcxx/branches/4.2.x/bin/duration Wed May 28 16:52:00 2008
@@ -194,11 +194,84 @@
}
+# converts date in the Windows "Day MM/DD/YYYY" format
+# to POSIX %c
+convert_windows_date()
+{
+ date=$1
+
+ wday=${date%% *}
+ date=${date#* }
+
+ mon=${date%%/*}
+ date=${date#*/}
+
+ mday=${date%%/*}
+ year=${date#*/}
+
+ case $mon in
+ 01) mon="Jan";;
+ 02) mon="Feb";;
+ 03) mon="Mar";;
+ 04) mon="Apr";;
+ 05) mon="May";;
+ 06) mon="Jun";;
+ 07) mon="Jul";;
+ 08) mon="Aug";;
+ 09) mon="Sep";;
+ 10) mon="Oct";;
+ 11) mon="Nov";;
+ 12) mon="Dec";;
+ esac
+
+ func_return_value="$wday $mon $mday 00:00:00 UTC $year"
+}
+
+
+# converts date in the ls -l format to POSIX %c
+convert_ls_date()
+{
+ date=$1
+
+ mon=${date%% *}
+ date=${date#* }
+
+ mday=${date%% *}
+ time=${date#* }
+
+ if [ ${#time} -eq 4 ]; then
+ year=$time
+ time="00:00:00"
+ else
+ year=`date "+%Y"`
+ time="$time:00"
+ fi
+
+ func_return_value="Mon $mon $mday $time UTC $year"
+}
+
+
# computes the number of seconds from the Epoch (1/1/1970)
seconds_from_epoch()
{
date=$1
+ # remove all leading and trailing whitespace
+ date=${date## }
+ date=${date%% }
+
+ datelen=${#date}
+
+ # check the length to see if the date is in the POSIX %c format
+ if [ $datelen -eq 11 -o $datelen -eq 12 ]; then
+ # assume ls -l format (i.e., "+%b %e %H:%M" or "+%b %e %Y"
+ # POSIX date format)
+ convert_ls_date "$date"; date=$func_return_value
+ elif [ $datelen -eq 14 ]; then
+ # assume Day MM/DD/YYYY
+ convert_windows_date "$date"; date=$func_return_value
+ fi
+
# extract the year, the 1-based month and day of month, hours,
# minutes, and seconds (normalized to the GMT time zone) from
# the date
Modified: stdcxx/branches/4.2.x/bin/genxviews
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/bin/genxviews?rev=661152&r1=661151&r2=661152&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/bin/genxviews (original)
+++ stdcxx/branches/4.2.x/bin/genxviews Wed May 28 16:52:00 2008
@@ -32,6 +32,9 @@
readonly www_stdcxx_dir="/www/stdcxx.apache.org/builds"
+# current date and time to compute log ages
+readonly now=`date`
+
XBUILDGEN=`which xbuildgen 2>/dev/null`
if [ "$XBUILDGEN" = "" ]; then
@@ -252,7 +255,8 @@
suffixes="a A d D s S"
unset buildlogs
- unset oldest
+ unset oldest_age
+ unset oldest_time
count=0
@@ -292,8 +296,8 @@
else
output " <td><a href=\"$xfile\">$xfile</a></td>"
- oldest=` cd $logdir && ls -lrt $buildlogs | head -n 1 \
- | awk '{ print $6 " " $7 " " $8 }'`
+ oldest_time=` cd $logdir && LANG=C ls -lrt $buildlogs | head -n 1 \
+ | awk '{ print $6 " " $7 " " $8 }'`
if [ $newlogs -gt 0 ]; then
@@ -319,12 +323,18 @@
end=`expr $end + 60`
fi
+ # compute the amount of time it took to process this batch
duration=`expr $end - $duration`
+ # compute the age of the oldest log
+ if [ "$oldest_time" != "" ]; then
+ oldest_age=`duration "$oldest_time" "$now"`
+ fi
+
cat<<EOF | output
<td>$count</td>
<td>$newlogs</td>
- <td>$oldest</td>
+ <td title="$oldest_time">$oldest_age</td>
<td>$duration</td>
</tr>
EOF
@@ -637,7 +647,6 @@
# compute the number of seconds it took to process all logs
-readonly now=`date`
processing_time=`duration "$start_time" "$now"`
cat<<EOF | output
Modified: stdcxx/branches/4.2.x/bin/xbuildgen
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/bin/xbuildgen?rev=661152&r1=661151&r2=661152&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/bin/xbuildgen (original)
+++ stdcxx/branches/4.2.x/bin/xbuildgen Wed May 28 16:52:00 2008
@@ -83,9 +83,6 @@
######################################################################
# global constants
-# set program name (used in diagnostic messages)
-readonly myname=`basename $0`
-
# the directory where the script is located to get a hold of other
# files at locations relative to this one (assumes the script resides
# within the stdcxx source tree)
@@ -121,14 +118,24 @@
# default page title (unless overridden on the command line)
title="Multi-platform Test Result View"
-# script's revision number
+# extract the script's revision number
myrev='$Revision$'
-myrev=${myrev#'$Revision: '}
-myrev=${myrev%' $'}
+myrev=${myrev#'$Revision: '} # strip leading text
+myrev=${myrev%' $'} # strip trailing text
+
+# form the URL to this version of the script in the repository
+myurl='$HeadURL$'
+myurl=${myurl#'$HeadURL: '} # strip leading text
+myurl=${myurl##*asf/} # strip svn prefix
+myurl=${myurl%' $'} # strip trailing text
-# URL to this version of the script in the repository
-readonly myurl="$svnpath/bin/xbuildgen?view=markup&rev=$myrev"
+# prepend ViewVC prefix
+myurl="http://svn.apache.org/viewvc/$myurl"
+# extract program name from the url (used in diagnostic messages)
+readonly myname=${myurl##*/}
+
+myurl="$myurl?view=markup&rev=$myrev"
######################################################################
@@ -175,6 +182,10 @@
echo " -t <list-of-tests>"
echo " Generate a report for the specified list of tests with"
echo " tests listed in columns and builds in rows."
+ echo
+ echo " -V <version>"
+ echo " Stdcxx version (branch) to generate results for."
+ echo " When omitted, trunk is assumed."
}
######################################################################
@@ -839,6 +850,12 @@
font-weight:bold;
text-align:center;
}
+td.EXEC {
+ color:white;
+ background:mediumslateblue;
+ font-weight:bold;
+ text-align:center;
+}
td.xdep {
color:yellow;
background:gray;
@@ -947,7 +964,7 @@
xfails=""
fi
-$xcomp bodyonly=1 logdir=$logdir $xfails $textlogs | output
+$xcomp bodyonly=1 logdir=$logdir version=$version $xfails $textlogs | output
######################################################################
# output the rest of the HTML file
@@ -1040,6 +1057,15 @@
</td>
</tr>
<tr>
+ <td class="EXEC">EXEC</td>
+ <td class="na">Failure</td>
+ <td colspan=2 class="na"><center>Not Applicable</center></td>
+ <td class="na">
+ Component compiled and linked successfully but failed
+ to execute (possibly due to a linker error).
+ </td>
+ </tr>
+ <tr>
<td class="WARN">WARN</td>
<td class="na">Success</td>
<td class="XWARN">XWARN</td>
Modified: stdcxx/branches/4.2.x/bin/xcomp.awk
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/bin/xcomp.awk?rev=661152&r1=661151&r2=661152&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/bin/xcomp.awk (original)
+++ stdcxx/branches/4.2.x/bin/xcomp.awk Wed May 28 16:52:00 2008
@@ -23,10 +23,12 @@
########################################################################
#
# SYNOPSIS
-# myname [bodyonly=0|1 logdir=<logdir>] logs...
+# myname [bodyonly=0|1 logdir=<logdir> version=<version>] logs...
#
# VARIABLES:
# bodyonly when non-zero, suppresses the <html> tags
+# logdir
+# version stdcxx version (branch) to generate results for.
#
########################################################################
@@ -132,8 +134,6 @@
buildmodes ["15s"] = "archive, debug, reentrant"
buildmodes ["15S"] = "archive, debug, reentrant, wide"
- svnpath="http://svn.apache.org/viewvc/stdcxx/trunk"
-
# regular expression to match a name (e.g., compiler or OS)
re_name = "[A-Za-z][A-Za-z_0-9]*"
@@ -165,6 +165,18 @@
# detect the type of file
1 == FNR {
+
+ if (svnpath == "") {
+
+ # initialize svnpath using version (assume trunk by default)
+ svnpath = "http://svn.apache.org/viewvc/stdcxx"
+
+ if (version == "" || version == "trunk")
+ svnpath = svnpath "/trunk"
+ else
+ svnpath = svnpath "/branches/" version
+ }
+
section = 0
if (0 == match(FILENAME, re_logname)) {