[glib] Add package and version to the test report XML



commit ddb9a2f26490b45f9cbda51b79ebcafb38b6ca81
Author: Emmanuele Bassi <ebassi gmail com>
Date:   Tue Jun 15 01:31:18 2010 -0400

     Add package and version to the test report XML

 Makefile.decl       |    8 ++++++--
 glib/gtester-report |   16 ++++++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)
---
diff --git a/Makefile.decl b/Makefile.decl
index cbc0da1..0d7571e 100644
--- a/Makefile.decl
+++ b/Makefile.decl
@@ -46,8 +46,12 @@ test-report perf-report full-report:	${TEST_PROGS}
 	    ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
 	  done ; \
 	  $$ignore_logdir || { \
-	    echo '<?xml version="1.0"?>' > $  xml ; \
-	    echo '<report-collection>'  >> $  xml ; \
+	    echo '<?xml version="1.0"?>'            > $  xml ; \
+	    echo '<report-collection>'             >> $  xml ; \
+	    echo '<info>'                          >> $  xml ; \
+	    echo '  <package>$(PACKAGE)</package>' >> $  xml ; \
+	    echo '  <version>$(VERSION)</version>' >> $  xml ; \
+	    echo '</info>'                         >> $  xml ; \
 	    for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
 	      sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $  xml ; \
 	    done ; \
diff --git a/glib/gtester-report b/glib/gtester-report
index 54eb5ff..c2162aa 100755
--- a/glib/gtester-report
+++ b/glib/gtester-report
@@ -110,11 +110,19 @@ class ReportReader (TreeProcess):
     self.binary_names = []
     self.binaries = {}
     self.last_binary = None
+    self.info = {}
   def binary_list (self):
     lst = []
     for name in self.binary_names:
       lst += [ self.binaries[name] ]
     return lst
+  def get_info (self):
+    return self.info
+  def handle_info (self, node):
+    dn = find_child (node, 'package')
+    self.info['package'] = node_as_text (dn)
+    dn = find_child (node, 'version')
+    self.info['version'] = node_as_text (dn)
   def handle_testcase (self, node):
     self.last_binary.testcases += [ node ]
     result = attribute_as_text (node, 'result', 'status')
@@ -186,8 +194,9 @@ class ReportWriter (TreeProcess):
   }
   --></script>
   '''
-  def __init__ (self, binary_list):
+  def __init__ (self, info, binary_list):
     TreeProcess.__init__ (self)
+    self.info = info
     self.binaries = binary_list
     self.bcounter = 0
     self.tcounter = 0
@@ -200,6 +209,8 @@ class ReportWriter (TreeProcess):
     sys.stdout.write (message)
     if message:
       self.lastchar = message[-1]
+  def handle_info (self):
+    self.oprint ('<h3>Package: %(package)s, version: %(version)s</h3>\n' % self.info)
   def handle_text (self, node):
     self.oprint (node.nodeValue)
   def handle_testcase (self, node, binary):
@@ -305,6 +316,7 @@ class ReportWriter (TreeProcess):
     self.oprint ('</head>\n')
     self.oprint ('<body>\n')
     self.oprint ('<h2>GTester Unit Test Report</h2>\n')
+    self.handle_info ()
     self.oprint ('<table id="ResultTable" width="100%" border="1">\n<tr>\n')
     self.oprint ('<th>Program / Testcase </th>\n')
     self.oprint ('<th style="width:8em">Duration (sec)</th>\n')
@@ -356,7 +368,7 @@ def main():
   xd = xml.dom.minidom.parse (files[0])
   rr = ReportReader()
   rr.trampoline (xd)
-  rw = ReportWriter (rr.binary_list())
+  rw = ReportWriter (rr.get_info(), rr.binary_list())
   rw.printout()
 
 if __name__ == '__main__':



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]