stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From se...@apache.org
Subject svn commit: r648374 - /stdcxx/trunk/bin/xcomp.awk
Date Tue, 15 Apr 2008 18:49:52 GMT
Author: sebor
Date: Tue Apr 15 11:49:49 2008
New Revision: 648374

URL: http://svn.apache.org/viewvc?rev=648374&view=rev
Log:
2008-04-15  Martin Sebor  <sebor@roguewave.com>

	* bin/xcomp.awk: Added comments describing how platform pattern
	matching works for the expected failures feature.
	Prepended 'X' to the signal name when the signal is expected
	to match the legend at the bottom of the page.

Modified:
    stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=648374&r1=648373&r2=648374&view=diff
==============================================================================
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Tue Apr 15 11:49:49 2008
@@ -690,17 +690,21 @@
 }
 
 
-# locale, example, or test section
+# component (locale, example, or test) section
 1 == start {
 
+    # store the name of the component
     compname = $1
 
     # trim suffix from component name
     sub("(\\.bat|\\.exe|\\.sh)$", "", compname)
 
+    # store the component status
     compstatus = $2
-    expect     = ""
-    comment    = ""
+
+    # the default expected status is empty (no record for it exists)
+    expect  = ""
+    comment = ""
 
     # append the component name to the list of component names
     # for the current section
@@ -715,18 +719,36 @@
     # and log
     ++logcompcnts [section, FILENAME]
 
+    # if appropriate, increase the maximum number of components
+    # across all logs
     if (sectmaxcompcnts [section] < logcompcnts [section, FILENAME])
         sectmaxcompcnts [section] = logcompcnts [section, FILENAME]
 
+    # look up the component's name in the array of components each
+    # with a record of the platform(s) and the expecred status of
+    # the component on the platform(s), something like
+    #    "aix-.*-ppc-.*-.*-12{d,D} SEGV STDCXX-123"
+    #   ":linux.*-.*-gcc           ABRT STDCXX-345"
+    #     ^                        ^    ^
+    #     |                        |    |
+    #     |                        |    +-- required comment (issue)
+    #     |                        +-- expected component status
+    #     +-- platform matching ERE pattern
+
     if (compname in expected_statuses)
         expspec = expected_statuses [compname]
     else
         expspec = ""    
 
+    # split the list of platforms/expected statuses into an array
+    # with one element for each status and a pattern matching one
+    # or more platforms
     n = split(expspec, slist, ":")
 
     for (i = 1; i <= n; ++i) {
 
+        # get the platform matching pattern, expected status, and
+        # the required comment
         split(slist [i], fields, " ")
 
         # try to match the log file name against the specified pattern
@@ -739,7 +761,8 @@
         }
     }
 
-    # class, value, and optional detail for the cell
+    # class (determins the color of the cell), value (the text displayed
+    # in the cell), and the optional detail for the cell
     class  = ""
     value  = ""
     detail = ""
@@ -748,22 +771,25 @@
     # <class>:[<value>]:[<detail>]
 
     if (0 == compstatus) {
-        # successful exit status
+        # successful exit status: component built but may have failed
+        # assertions or runtime warnings
 
         class = "OK"
 
         if (3 != section) {
-            runwarns = $3
-            asserts  = $4
-            failed   = $5
+            # locales and tests but not examples
+            runwarns = $3   # number of runtime warnings
+            asserts  = $4   # number of assertions tried
+            failed   = $5   # number of failed assertions
 
             if (0 < failed) {
+                # non-zero number of assertions
                 class  = "ASSERT"
                 value  = failed
                 detail = asserts
             }
             else if (0 < runwarns) {
-                # runtime warnings
+                # non-zero runtime warnings
                 class = "RUNWARN"
                 value = "(" runwarns ")"
             }
@@ -840,13 +866,16 @@
 
         if (expect != "") {
             if (expect == value) {
-                # signal matches the expected signal
+                # received signal matches the expected signal
                 ++xfailcounts [section, FILENAME]
 
-               class = "X" class
+                # prepend "X" to the class/value to indicate that
+                # the signal was expected
+                class = "X" class
+                value = "X" value
             }
             else {
-                # signal doesn't match expected status
+                # received signal doesn't match expected status
                 ++xmatchcounts [section, FILENAME]
 
                 value  = value "<br>(X" expect ")"



Mime
View raw message