Return-Path: Delivered-To: apmail-incubator-stdcxx-commits-archive@www.apache.org Received: (qmail 43017 invoked from network); 23 Dec 2007 05:40:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Dec 2007 05:40:42 -0000 Received: (qmail 69770 invoked by uid 500); 23 Dec 2007 05:40:31 -0000 Delivered-To: apmail-incubator-stdcxx-commits-archive@incubator.apache.org Received: (qmail 69755 invoked by uid 500); 23 Dec 2007 05:40:31 -0000 Mailing-List: contact stdcxx-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-commits@incubator.apache.org Received: (qmail 69744 invoked by uid 99); 23 Dec 2007 05:40:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Dec 2007 21:40:30 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Dec 2007 05:40:24 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A216E1A9832; Sat, 22 Dec 2007 21:40:13 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r606538 - in /incubator/stdcxx/trunk/bin: xbuildgen xcomp.awk Date: Sun, 23 Dec 2007 05:40:12 -0000 To: stdcxx-commits@incubator.apache.org From: sebor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071223054013.A216E1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sebor Date: Sat Dec 22 21:39:49 2007 New Revision: 606538 URL: http://svn.apache.org/viewvc?rev=606538&view=rev Log: 2007-12-22 Martin Sebor * xbuildgen (format_size): New function to format a size in an easy-to-read way. (get_lib_size): Called format_size and silenced warning when unable to find the library in the log to reduce the noise in cases when it fails to build. (Logs and Columns): Added log sizes and the total number of each of the three kinds of components (examples, locales, and tests). Reduced false positives when counting warning and error messages. Moved awk script here-document to... * xcomp.awk: ...here, and (hopefully) correctly handled the case of missing components. Added links to locale definition files and character set description files in the source repository. Added grand totals and totals of failed components. STDCXX-683 * xbuildgen (resultstyle.css): Added td.total, td.XPASS, td.XWARN, td.XEXIT, td.XRUNWARN, td.XDIFF, td.XASSERT, td.XCOMP, and td.XLINK. (Codes and Colors): Added descriptions for the above statuses. Added: incubator/stdcxx/trunk/bin/xcomp.awk (with props) Modified: incubator/stdcxx/trunk/bin/xbuildgen Modified: incubator/stdcxx/trunk/bin/xbuildgen URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/bin/xbuildgen?rev=606538&r1=606537&r2=606538&view=diff ============================================================================== --- incubator/stdcxx/trunk/bin/xbuildgen (original) +++ incubator/stdcxx/trunk/bin/xbuildgen Sat Dec 22 21:39:49 2007 @@ -250,6 +250,30 @@ ###################################################################### +# formats a size value in an easy-to-read way +format_size () +{ + size=$1 + + if [ $size -ge 1000000 ]; then + # over million bytes, get size in megabytes up to 2 decimal places + mbsize="$((size / 1048576)).$(((size % 1048576) / 100000))" + size="
$mbsize MB
" + elif [ $size -ge 10000 ]; then + # over ten thoudand bytes, get even size in kilobytes + kbsize="$((size / 1024))" + size="
$kbsize kB
" + elif [ $size -ge 1000 ]; then + # over thoudand bytes, get size in kilobytes up to 2 decimal places + kbsize="$((size / 1024)).$(((size % 1024) / 100))" + size="
$kbsize kB
" + fi + + echo $size +} + + +###################################################################### # extracts the size of the library binary from the build log # being careful to avoid the symlink (in the case of a .so) get_lib_size () @@ -258,8 +282,12 @@ libsize=`awk '/build\/lib\/libstd[^ ]*\$/{ print $5 }' $file` if [ "$libsize" = "" ]; then - echo "$myname: warning: unable to extract library size from $l" >&2 + # avoid warning for missing library size to reduce the noise + # in cases when it fails to build + # echo "$myname: warning: unable to extract library size from $l" >&2 unset libsize + else + libsize=`format_size $libsize` fi echo $libsize @@ -610,22 +638,22 @@ td { padding: 2px; text-align: center; - background-color:powderblue; + background:powderblue; } td.rowno { padding: 3px; text-align: right; - background-color:lightgray; + background:lightgray; } td.name { padding: 3px; text-align: left; - background-color:lightblue; + background:lightblue; } td.number { padding: 3px; text-align: center; - background-color:lightblue; + background:lightblue; } td.na { background:white; @@ -635,12 +663,24 @@ background:#cccccc; text-align:center; font-weight:bold; + font-family:lucida mono; +} +td.total { + background:#cccccc; + text-align:center; + font-weight:bold; } td.OK { background:forestgreen; text-align:center; font-weight:bold; } +td.XPASS { + color:yellow; + background:forestgreen; + text-align:center; + font-weight:bold; +} td.BASE { background:lightgreen; text-align:center; @@ -666,7 +706,13 @@ color:red; background:#ffff99; text-align:center; - font-family:fixed + font-weight:bold; +} +td.XWARN { + color:tomato; + background:lightgreen; + text-align:center; + font-weight:bold; } td.EXIT { color:red; @@ -674,6 +720,12 @@ text-align:center; font-weight:bold; } +td.XEXIT { + color:tomato; + background:lightgreen; + text-align:center; + font-weight:bold; +} td.FORMAT { background:#ffffcc; text-align:center; @@ -684,35 +736,71 @@ text-align:center; font-weight:bold; } +td.XRUNWARN { + color:dimgray; + background:lightgreen; + text-align:center; + font-weight:bold; +} td.DIFF { color:red; background:#ffff99; font-weight:bold; text-align:center; } +td.XDIFF { + color:tomato; + background:lightgreen; + font-weight:bold; + text-align:center; +} td.ASSERT { color:red; background:#ffff99; font-weight:bold; text-align:center; } +td.XASSERT { + color:tomato; + background:lightgreen; + font-weight:bold; + text-align:center; +} td.SIGNAL { color:yellow; background:red; font-weight:bold; text-align:center; } +td.XSIGNAL { + color:tomato; + background:lightgreen; + font-weight:bold; + text-align:center; +} td.COMP { background:violet; font-weight:bold; text-align:center; } +td.XCOMP { + color:violet; + background:lightgreen; + font-weight:bold; + text-align:center; +} td.LINK { color:yellow; background:mediumpurple; font-weight:bold; text-align:center; } +td.XLINK { + color:mediumpurple; + background:lightgreen; + font-weight:bold; + text-align:center; +} td.xdep { color:yellow; background:gray; @@ -744,13 +832,13 @@

Index


EOF @@ -790,7 +878,7 @@ - + @@ -848,19 +936,51 @@
col.
log
build
type
build and run times (M:SS)
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -881,6 +1001,11 @@ # space-separated list of names of text logs processed in loop below textlogs="" +# running total number of examples, locales, and tests in all logs +total_examples=0 +total_locales=0 +total_tests=0 + for l in $gzlogs; do n=$((n + 1)) fname=`basename $l` @@ -900,9 +1025,17 @@ gunzip -c $l > $txtlog if [ $? -ne 0 ]; then echo "$myname: error unzipping $l" >&2 - exit 1 + + # continue processing the empty log below fi + # determine the size of the compressed and decompressed log + gzlogsize=`wc -c $l` + gzlogsize=`format_size ${gzlogsize% *}` + + txtlogsize=`wc -c $txtlog` + txtlogsize=`format_size ${txtlogsize% *}` + # extract the date and time the build started # the date is expected to be introduced by a line like this: # ### date: @@ -917,6 +1050,8 @@ # or just seconds, whichever happens to be the most # significant age=`$HOME/stdcxx/bin/duration "$date" "$today"` + full_age=`$HOME/stdcxx/bin/duration -f "$date" "$today"` + age="
$age
" fi # strip the year from the date @@ -936,6 +1071,12 @@ else fullbuildsize=${buildsizes%%[^0-9]*} cleanbuildsize=${buildsizes#[0-9]*[^0-9]} + + fullbuildsize=$((fullbuildsize * 1024)) + cleanbuildsize=$((cleanbuildsize * 1024)) + + fullbuildsize=`format_size $fullbuildsize` + cleanbuildsize=`format_size $cleanbuildsize` fi # extract the source repository revision number the build @@ -959,8 +1100,17 @@ compiler=`get_compiler $txtlog` # count the number of errors and warnings in the build - errors=`grep -i error $txtlog | wc -l` - warnings=`grep -i warning $txtlog | wc -l` + # avoid including false positives for words containing + # the string "error" or "warning" + + # avoid counting (often ignored) make errors + errors=` grep -i "[^a-z_A-Z0-9]error[^a-z_A-Z0-9]" $txtlog \ + | grep -v "[^a-z_A-Z0-9]*gmake[^a-z_A-Z0-9]"| wc -l` + + # (try to) avoid counting lines showing the context of the warning + # this should be tailored to every compiler + warnings=` grep -i "[^a-z_A-Z0-9]warning[^a-z_A-Z0-9]" $txtlog \ + | grep -i -v "called from here" | wc -l` ### if [ $components_in_rows -ne 0 ]; then @@ -987,19 +1137,21 @@ tbl_hdr_2="$tbl_hdr_2 " output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " - output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " + output " " cat <>$timings_file @@ -1019,8 +1171,6 @@ get_times "total" $txtlog >>$timings_file echo " " >>$timings_file - - output " " fi @@ -1087,6 +1237,32 @@ exit 3 fi + if [ $components_in_rows -ne 0 ]; then + + # get the number of components of each kind in the log + nexamples=`wc -l $examples_file` + nlocales=`wc -l $locales_file` + ntests=`wc -l $tests_file` + + nexamples=${nexamples% *} + nlocales=${nlocales% *} + ntests=${ntests% *} + + output " " + output " " + output " " + output " " + + total_examples=$nexamples + total_locales=$nlocales + total_tests=$ntests + fi + + if [ ! -s $runlog ]; then + # make sure file is not empty + echo "###" >$runlog + fi + rm $runlog.next rm $txtlog done @@ -1142,157 +1318,7 @@ ###################################################################### -awkscript=$TMP/stdcxx-cross.$$.awk - -cat > $awkscript <" value "" - - ++compinx -} - -function build_summary () { - if (verbose || count) { - print " " - print " " - print " " - - if (comp == "test") { - print " " - } - - print columns; - print " " - } - - tmpfile = "$TMP/.stdcxx-failtotals.$$.txt" - - if (count) { - getline < tmpfile - close(tmpfile) - - ORS=" " - for (i = 0; i < compinx; ++i) { - print nfailures [i] + \$(i + 1) > tmpfile - } - - ORS="\n" - print "" >> tmpfile - close(tmpfile) - } - - if (FILENAME == "-") { - - if (comp == "test") { - print "" - } - - getline < tmpfile - - for (i = 1; i < NF + 1; ++i) { - print " " - } - - system("rm -f " tmpfile) - } -} - -function component_summary () { - print columns; -} - -END { - if (comp != "") { - build_summary() - } - else { - component_summary() - } -} -EOF +awkscript=$HOME/stdcxx/bin/xcomp.awk ###################################################################### @@ -1303,19 +1329,27 @@ component_name=$1 component_list=$2 + count=`echo $component_list | wc -w` + if [ "$component_name" = "test" ]; then column3=" " + column3="$column3 max
asserts" else unset column3 fi cat <Results of ${component_name}s +

Results of $count ${component_name}s

+

+ Note: ${component_name}s passing across all builds have been omitted + for brevity. +

col.
OSarchcompilerbuild
type
build start datebuild
age
revisionlibrary
(bytes)
build
(kB)
clean
(kB)
errorswarnings
log
operating
system
arch
compilerbuild
type
start date and time +
+ age +
+
revisionsizesdiagnosticscomponents
+
library
+
logbuild +
errors
+
+
warnings
+
+
examples
+
+
locales
+
+
tests
+
gzip
text
full
clean
$buildtype
$colhdr$osname$arch$compiler$buildtype$date$age$revno$libsize$fullbuildsize$cleanbuildsize$errors$warnings$colhdr$osname$arch$compiler$buildtype$date$age$revno$libsize$gzlogsize$txtlogsize$fullbuildsize$cleanbuildsize$errors$warnings
$((nexamples - total_examples))$((nlocales - total_locales))$((ntests - total_tests))
" n "" - - if (dir != "") - print " " name "" - else - print " " name - print " " max_asserts "
" \$(i) "
" - column3="$column3 asserts
- + @@ -1327,6 +1361,8 @@ EOF + totals_file=$TMP/.stdcxx-failtotals.$$.txt + # iterate over the list of idividual components (examples, tests, # or locales) invoking the awk script on each of them (i.e., each # example, test, or locale) in every iteration of the loop @@ -1338,18 +1374,33 @@ # (if it generates one) n=$((n + 1)) + # the display name of the component + dispname="$c" + # determine the directory in the source repository the component # source lives in if [ "example" = $component_name ]; then dir="" elif [ "locale" = $component_name ]; then - dir="" + locale=${c%.*} + if [ "$locale" != "$c" ]; then + + # compose a URL pointing to the character set description + # file and the locale defintion file in the repository + codeset=${c#*.} + + url="$svnpath/etc/nls/src/$locale?view=markup" + dispname="$locale" + + url="$svnpath/etc/nls/charmaps/$codeset?view=markup" + dispname="$dispname.$codeset" + fi elif [ "test" = $component_name ]; then dir="tests" case $c in - *-stdcxx-*) dir="$dir/regress";; + *.stdcxx-*) dir="$dir/regress";; 0.*) dir="$dir/self";; 17.*) dir="$dir/intro";; 18.*) dir="$dir/support";; @@ -1364,28 +1415,26 @@ 27.*) dir="$dir/iostream";; *) dir="";; esac + + if [ "$dir" != "" ]; then + dispname="$c" + fi fi awk -f $awkscript \ - n=$n dir=$dir name=$c verbose=$verbose comp=$component_name \ - $textlogs \ + n=$n dir=$dir name=$c dispname="$dispname" verbose=$verbose \ + comp=$component_name totalsfile=$totals_file $textlogs \ | output done - cat < - -EOF # set name to bogus value and invoke the script again # to get it to print summary information - echo "" | awk -f $awkscript comp=$component_name name="@" | output + echo "" | awk -f $awkscript comp=$component_name name="@" \ + totalsfile=$totals_file svnpath=$svnpath \ + | output cat <
###
+
###
+
$component_name name
$n - -
total/failed
-
EOF @@ -1423,8 +1472,8 @@ line=`grep "^$c *[^-]" $l` if [ $? -eq 0 -a "$line" != "" ]; then echo $line \ - | awk -f $awkscript component=$component_name \ - name=$c verbose=$verbose \ + | awk -f $awkscript component=$component_name \ + name=$c verbose=$verbose svnpath=$svnpath \ | output else output " N/A" @@ -1462,103 +1511,159 @@

Codes and Colors

+ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SymbolMeaningStatusMeaning
+
+ + Unexpected +
+
Severity +
+ Expected +
+
Severity
XPASSSuccessOKSuccess + Component completed successfully and produced the expected + output. +
Not Applicable
NOUTSuccess + Component completed successfully and produced no output. +
Not Applicable
BASESuccess + Component completed successfully and matched the baseline. +
Not Applicable
FMATSuccess + Component completed successfully but produced unexpected + output. +
N/ASuccess
Not Applicable
Component was not tested.
XDEPFailure
Not Applicable
+ Component was not attempted due to a missing (or failed) + dependency. +
COMPFailureXCOMPSuccessComponent failed to compile.
FailureSuccess + Component compiled successfully but failed to link. +
WARNSuccessXWARNSuccess + Component compiled and linked successfully but with warnings. +
(N)Success(N)Success + + Component compiled and linked successfully, exited with + a status of 0, but produced N warnings at runtime. +
NFailureNSuccess + Component compiled and linked successfully but exited with + a non-zero status of N. +
DIFFFailureXDIFFSuccess + Component compiled and linked successfully, exited with + a status of 0, but produced unexpected output. +
[SIG]<name>FailureX[SIG]<name>Success + Component compiled and linked successfully, but exited + with the named signal (for example, SIGABRT). +
(N)Failure(N)Success + Component compiled and linked successfully, exited with + a status of 0, but failed N assertions at runtime. +
OK - Component completed successfully and produced the expected - output. -
NOUT - Component completed successfully and produced no output. -
BASE - Component completed successfully and matched the baseline. -
FMAT - Component completed successfully but produced unexpected - output. -
N/AComponent was not tested.
XDEP - Component was not attempted due to a missing (or failed) - dependency. -
COMPComponent failed to compile.
- Component compiled successfully but failed to link. -
WARN - Component compiled and linked successfully but with warnings. -
(N) - Component compiled and linked successfully, exited with - a status of 0, but produced N warnings at runtime. -
N - Component compiled and linked successfully but exited with - a non-zero status of N. -
DIFF - Component compiled and linked successfully, exited with - a status of 0, but produced unexpected output. -
[SIG]<name> - Component compiled and linked successfully, but exited - with the named signal (for example, SIGABRT). -
(N) - Component compiled and linked successfully, exited with - a status of 0, but failed N assertions at runtime. -
- +

Build Types

@@ -1677,10 +1782,10 @@ if [ $verbose -eq 1 ]; then echo "$myname: " \ - "rm $awkscript $examples_file $tests_file $locales_file " \ + "rm $examples_file $tests_file $locales_file " \ "$textlogs $timings_file" fi - rm $awkscript $examples_file $tests_file $locales_file $textlogs \ + rm $examples_file $tests_file $locales_file $textlogs \ $timings_file fi Added: incubator/stdcxx/trunk/bin/xcomp.awk URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/bin/xcomp.awk?rev=606538&view=auto ============================================================================== --- incubator/stdcxx/trunk/bin/xcomp.awk (added) +++ incubator/stdcxx/trunk/bin/xcomp.awk Sat Dec 22 21:39:49 2007 @@ -0,0 +1,294 @@ +#!/bin/awk +# +# $Id$ +# +######################################################################## +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. +# +######################################################################## +# +# SYNOPSIS +# myname [n=#] [name=$name] [dispname=$dispname] +# [svnpath=$svnpath] [verbose=0|1] [comp=$comp] +# [totalsfile=$totalsfile] [expectfile=$expectfile] +# logs... +# +# VARIABLES: +# n component number +# name component name +# dispname component display name +# verbose verbose mode +# comp component kind (example, locale, or test) +# totalsfile name of totals file +# expectfile name of file with expected results +# +######################################################################## + + +BEGIN { + # the text of all columns, output after all logs have been processed + columns = "" + + # total number of times the current component has been found to fail + # in all logs + compfails = 0 + + # maximum and minimum number of assertions for the current component + max_asserts = 0 + min_asserts = -1 + + # one-based file number (the first file on the command line + # is number one, etc.) + fileno = 0 + + # the (one-based) number of the file in which the current + # component was last found (detects a component that is + # missing from one or more files) + found_in_file = -1 + + # array of the total numbers of components found in each log + # logcounts + + # array of the total numbers of failed components in each log + # logfails +} + + +# action to keep track of the current file number +1 == FNR { + if (0 < fileno && found_in_file < fileno) { + columns = columns "\n " + found_in_file = -1 + } + + ++fileno +} + + +# match the first record to the name optionally followed +# by one of the three suffixes + $1 ~ "^" name "$" \ +|| $1 ~ "^" name ".bat$" \ +|| $1 ~ "^" name ".exe$" \ +|| $1 ~ "^" name ".sh$" { + + # EXPECTED RECORD FORMAT(s) + # + # $1 $2 $3 $4 $5 $6 $7 $8 $9 + # + # + # $1 $2 $3 $4 $5 + # + # + # The , , , and fields might be missing. + + # increment the total of components found in this log + ++logcounts [fileno - 1] + + # the second field is always the exit status of the component + status = $2 + + found_in_file = fileno + + if (status == 0) { + + # successful exit status + + if (comp == "example" || $5 == 0) { + + # component is an example or, when not, had zero failures + + # get the number of warnings (only valid when the number + # fields is greater than 5) + warnings = 5 < NF ? $3 : 0 + + if (warnings == 0) { + class = "OK" + value = "0" + } + else { + ++compfails; + ++logfails [fileno - 1] + class = "RUNWARN" + value = "
(" warnings \ + ")
" + } + } + else { + + # component is not an example or, when it is, had failures + + ++compfails + ++logfails [fileno - 1] + + class = "ASSERT" + value = "
(" $5 ")
" + } + + if (comp == "test") { + asserts [n] = $5 + + if (max_asserts < $4) { + max_asserts = $4 + } + + if ($4 < min_asserts || min_asserts < 0) { + min_asserts = $4 + } + } + } + else if (0 < status && status < 256) { + ++compfails + ++logfails [fileno - 1] + + class = "EXIT" + value = "
" status \ + "
" + } + else if (status == "FORMAT" || status == "NOUT" || status == "OUTPUT") { + ++compfails + + class = status + value = status == "FORMAT" ? "FMAT" : status + } + else if (status == "DIFF" || status == "COMP" || status == "LINK") { + ++compfails + ++logfails [fileno - 1] + + class = status + value = status + } + else { + ++compfails + ++logfails [fileno - 1] + + class = "SIGNAL" + value = status + } + + columns = columns "\n
" +} + + +function build_summary () +{ + if (verbose || compfails) { + print " " + print " " + print " " + + if (comp == "test") { + print " " + } + + print columns; + print " " + } + + if (compfails) { + # increment counts in the totals file + + getline < totalsfile + close(totalsfile) + + # set the Output Record Separator to space + ORS=" " + + for (i = 0; i < fileno; ++i) { + print logcounts [i] + $(i + 1) > totalsfile + } + + for (i = 0; i < fileno; ++i) { + print logfails [i] + $(i + fileno + 1) > totalsfile + } + + # append a newline to the file + ORS="\n" + print "" >> totalsfile + close(totalsfile) + } + + if (name == "@") { + + # the special (bogus) name indicates a request to format + # totals from the totals file + + # read the totals from the totalsfile + getline < totalsfile + + nfields=NF + + # output the totals of failed components first + print " " + print " " + print " " + + if (comp == "test") { + print " " + } + + for (i = nfields / 2; i < nfields; ++i) { + print " " + } + + print " " + + # output the totals of all components next + print " " + print " " + print " " + + if (comp == "test") { + print " " + } + + for (i = 0; i < nfields / 2; ++i) { + print " " + } + + print " " + + system("rm -f " totalsfile) + } +} + +function component_summary () { + print columns; +} + +END { + if (comp != "") { + if (found_in_file < fileno) { + + # the component wasn't found in the last file processed + columns = columns "\n " + } + + build_summary() + } + else { + component_summary() + } +} Propchange: incubator/stdcxx/trunk/bin/xcomp.awk ------------------------------------------------------------------------------ svn:executable = * Propchange: incubator/stdcxx/trunk/bin/xcomp.awk ------------------------------------------------------------------------------ svn:keywords = Id
N/A" value "
" n "" + print " " dispname + print " " max_asserts "
" + print "
failed
" + print "
" $(i + 1) "
" + print "
total
" + print "
" $(i + 1) "
N/A