From 2a6a4b500d670ead9f54c5ccbcb1421626b1aef8 Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Thu, 18 Sep 2008 13:00:21 +0000
Subject: [PATCH] Improve identification of software under test and testware (II) 

---
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl   |   61 ++
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl   |   55 ++
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl |   19 
 opends/tests/staf-tests/shared/python/common.py                             |    7 
 opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml           |  301 +++++++++++---
 opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl           |   12 
 opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl    |   29 
 opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl                  |  765 ++++++++++++++++++++++++++++++++++++
 8 files changed, 1,123 insertions(+), 126 deletions(-)

diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl
index 20a7e9f..076e1cb 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl
@@ -30,10 +30,11 @@
 <xsl:template match="/">
 
   <!--- Test Report Header Variables -->
-  <xsl:variable name="identification"     select="qa/functional-tests/identification"/>
-  <xsl:variable name="version"  select="$identification/version"/>
-  <xsl:variable name="buildid"  select="$identification/buildid"/>
-  <xsl:variable name="revision"  select="$identification/revision"/>
+  <xsl:variable name="id"           select="qa/functional-tests/identification"/>
+  <xsl:variable name="sut"          select="$id/sut"/>
+  <xsl:variable name="version"      select="$sut/version"/>
+  <xsl:variable name="buildid"      select="$sut/buildid"/>
+  <xsl:variable name="revision"     select="$sut/revision"/>
   <xsl:variable name="testcase"     select="qa/functional-tests/results/testgroup/testsuite/testcase"/>
   <xsl:variable name="total-tests"  select="count($testcase)"/>
   <xsl:variable name="pass-tests"   select="count($testcase[@result='pass'])"/>
@@ -211,7 +212,7 @@
           <xsl:value-of select="'center'"/>
         </xsl:attribute>
         <xsl:element name="b">
-          <xsl:value-of select="$identification/buildid"/>
+          <xsl:value-of select="$sut/buildid"/>
         </xsl:element>
       </xsl:element>
       <xsl:element name="td">
@@ -219,7 +220,7 @@
           <xsl:value-of select="'center'"/>
         </xsl:attribute>
         <xsl:element name="b">
-          <xsl:value-of select="$identification/revision"/>
+          <xsl:value-of select="$sut/revision"/>
         </xsl:element>
       </xsl:element>          
       <xsl:element name="td">
@@ -227,7 +228,7 @@
           <xsl:value-of select="'center'"/>
         </xsl:attribute>
         <xsl:element name="b">
-          <xsl:value-of select="$identification/os-label"/>
+          <xsl:value-of select="$sut/os-label"/>
         </xsl:element>
       </xsl:element>
       <xsl:element name="td">
@@ -235,7 +236,7 @@
           <xsl:value-of select="'center'"/>
         </xsl:attribute>
         <xsl:element name="b">
-          <xsl:value-of select="$identification/jvm-label"/>
+          <xsl:value-of select="$sut/jvm-label"/>
         </xsl:element>
       </xsl:element>
       <xsl:element name="td">
@@ -417,7 +418,7 @@
     <xsl:value-of select="'Additional Information'"/>
   </xsl:element>
 
-  <xsl:variable name="tests-dir" select="$identification/tests-dir"/>
+  <xsl:variable name="tests-dir" select="$id/tests-dir"/>
     
   <xsl:element name="table">
     <xsl:element name="tr">
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
index 5b29588..2a268b2 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl
@@ -34,18 +34,22 @@
 <xsl:template match="/">
 
   <!-- Tests log XML document -->
-  <xsl:variable name="tests-log-doc"             select="document($tests-log)"/>
+  <xsl:variable name="tests-log-doc"  select="document($tests-log)"/>
   
   <!-- Test Report Header Variables -->
   <xsl:variable name="ft"             select="qa/functional-tests"/>
-  <xsl:variable name="identification" select="$ft/identification"/>
-  <xsl:variable name="url"            select="normalize-space($identification/tests-url)"/>
-  <xsl:variable name="hostname"       select="normalize-space($identification/hostname)"/>
-  <xsl:variable name="version"        select="normalize-space($identification/version)"/>
-  <xsl:variable name="buildid"        select="normalize-space($identification/buildid)"/>
-  <xsl:variable name="revision"       select="normalize-space($identification/revision)"/>
-  <xsl:variable name="os"             select="normalize-space($identification/os-label)"/>
-  <xsl:variable name="jvm"            select="normalize-space($identification/jvm-label)"/>
+  <xsl:variable name="id"             select="$ft/identification"/>
+  <xsl:variable name="sut"            select="$id/sut"/>
+  <xsl:variable name="testware"       select="$id/testware"/>
+  <xsl:variable name="mailto"         select="normalize-space($id/mailto)"/>
+  <xsl:variable name="tests-dir"      select="normalize-space($id/tests-dir)"/>
+  <xsl:variable name="url"            select="normalize-space($sut/tests-url)"/>
+  <xsl:variable name="hostname"       select="normalize-space($sut/hostname)"/>
+  <xsl:variable name="version"        select="normalize-space($sut/version)"/>
+  <xsl:variable name="buildid"        select="normalize-space($sut/buildid)"/>
+  <xsl:variable name="revision"       select="normalize-space($sut/revision)"/>
+  <xsl:variable name="os"             select="normalize-space($sut/os-label)"/>
+  <xsl:variable name="jvm"            select="normalize-space($sut/jvm-label)"/>
   <xsl:variable name="testgroup"      select="$ft/results/testgroup"/>
   <xsl:variable name="testsuite"      select="$testgroup/testsuite"/>
   <xsl:variable name="testcase"       select="$testsuite/testcase"/>
@@ -54,7 +58,6 @@
   <xsl:variable name="kfail-tests"    select="count($tests-log-doc/qa/functional-tests/results/test[result='known'])"/>
   <xsl:variable name="fail-tests"     select="count($testcase[@result='fail'])"/>
   <xsl:variable name="inconc-tests"   select="count($testcase[@result='unknown'])"/>
-  <xsl:variable name="tests-dir"      select="normalize-space($identification/tests-dir)"/>
   
   <xsl:element name="html">
   
@@ -530,6 +533,9 @@
   </xsl:element>
 
   <xsl:element name="table">
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
     <xsl:element name="tr">
       <xsl:element name="td">
         <xsl:element name="b">
@@ -537,14 +543,41 @@
         </xsl:element>
       </xsl:element>
       <xsl:element name="td">
-        <xsl:attribute name="align">
-          <xsl:value-of select="'center'"/>
-        </xsl:attribute>
         <xsl:element name="a">
           <xsl:attribute name="href">
             <xsl:value-of select="concat($url,$tests-dir)"/>
           </xsl:attribute>
-          <xsl:value-of select="$tests-dir"/>
+          <xsl:value-of select="concat($url,$tests-dir)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Product Identification: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
+        </xsl:element>
+      </xsl:element>
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Mail Sent to: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',normalize-space($mailto))"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($mailto)"/>
         </xsl:element>
       </xsl:element>          
     </xsl:element>
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
index a7afee0..c2e8c27 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl
@@ -41,14 +41,17 @@
     
   <!--- Test Report Header Variables -->
   <xsl:variable name="ft"             select="qa/functional-tests"/>
-  <xsl:variable name="identification" select="$ft/identification"/>
-  <xsl:variable name="url"            select="normalize-space($identification/tests-url)"/>
-  <xsl:variable name="hostname"       select="normalize-space($identification/hostname)"/>
-  <xsl:variable name="version"        select="normalize-space($identification/version)"/>
-  <xsl:variable name="buildid"        select="normalize-space($identification/buildid)"/>
-  <xsl:variable name="revision"       select="normalize-space($identification/revision)"/>
-  <xsl:variable name="os"             select="normalize-space($identification/os-label)"/>
-  <xsl:variable name="jvm"            select="normalize-space($identification/jvm-label)"/>
+  <xsl:variable name="id"             select="$ft/identification"/>
+  <xsl:variable name="sut"            select="$id/sut"/>
+  <xsl:variable name="mailto"         select="normalize-space($id/mailto)"/>
+  <xsl:variable name="tests-dir"      select="normalize-space($id/tests-dir)"/>
+  <xsl:variable name="url"            select="normalize-space($sut/tests-url)"/>
+  <xsl:variable name="hostname"       select="normalize-space($sut/hostname)"/>
+  <xsl:variable name="version"        select="normalize-space($sut/version)"/>
+  <xsl:variable name="buildid"        select="normalize-space($sut/buildid)"/>
+  <xsl:variable name="revision"       select="normalize-space($sut/revision)"/>
+  <xsl:variable name="os"             select="normalize-space($sut/os-label)"/>
+  <xsl:variable name="jvm"            select="normalize-space($sut/jvm-label)"/>
   <xsl:variable name="testgroup"      select="$ft/results/testgroup[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') = $groupdir]"/>
   <xsl:variable name="testsuite"      select="$testgroup/testsuite"/>
   <xsl:variable name="testcase"       select="$testsuite/testcase"/>
@@ -57,7 +60,6 @@
   <xsl:variable name="fail-tests"     select="count($testcase[@result='fail'])"/>
   <xsl:variable name="inconc-tests"   select="count($testcase[@result='unknown'])"/>
   <xsl:variable name="kfail-tests"    select="count($tests-log-doc/qa/functional-tests/results/test[result='known'])"/>
-  <xsl:variable name="tests-dir"      select="normalize-space($identification/tests-dir)"/>
   
   <xsl:element name="html">
   
@@ -539,14 +541,41 @@
         </xsl:element>
       </xsl:element>
       <xsl:element name="td">
-        <xsl:attribute name="align">
-          <xsl:value-of select="'center'"/>
-        </xsl:attribute>
         <xsl:element name="a">
           <xsl:attribute name="href">
             <xsl:value-of select="concat($url,$tests-dir)"/>
           </xsl:attribute>
-          <xsl:value-of select="$tests-dir"/>
+          <xsl:value-of select="concat($url,$tests-dir)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Product Identification: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
+        </xsl:element>
+      </xsl:element>
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Mail Sent to: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',normalize-space($mailto))"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($mailto)"/>
         </xsl:element>
       </xsl:element>          
     </xsl:element>
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl
index d032d04..95b2f5c 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl
@@ -32,10 +32,13 @@
 <xsl:template match="/">
 
   <!-- Test Report Header -->
-  <xsl:variable name="identification"     select="qa/functional-tests/identification"/>
+  <xsl:variable name="ft"               select="qa/functional-tests"/>
+  <xsl:variable name="id"               select="$ft/identification"/>
+  <xsl:variable name="sut"              select="$id/sut"/>
+  <xsl:value-of select="concat('tests-dir: ', normalize-space($id/tests-dir),'&#xa;')"/>
 
   <!-- Test Case Totals -->
-  <xsl:variable name="testcase"     select="qa/functional-tests/results/testgroup/testsuite/testcase"/>
+  <xsl:variable name="testcase"     select="$ft/results/testgroup/testsuite/testcase"/>
   <xsl:variable name="total"  select="count($testcase)"/>
   <xsl:variable name="pass"   select="count($testcase[@result='pass'])"/>
   <xsl:variable name="fail"   select="count($testcase[@result='fail'])"/>
@@ -58,17 +61,17 @@
   <xsl:value-of select="concat('fail: ', normalize-space($fail),'&#xa;')"/>
   <xsl:value-of select="concat('inconc: ', normalize-space($inconc),'&#xa;')"/>
   <xsl:value-of select="concat('total: ', normalize-space($total),'&#xa;')"/>
-  <xsl:value-of select="concat('sut-version: ', normalize-space($identification/version),'&#xa;')"/>
-  <xsl:value-of select="concat('sut-buildid: ', normalize-space($identification/buildid),'&#xa;')"/>
-  <xsl:value-of select="concat('sut-revision: ', normalize-space($identification/revision),'&#xa;')"/>
-  <xsl:value-of select="concat('os-hostname: ', normalize-space($identification/hostname),'&#xa;')"/>
-  <xsl:value-of select="concat('os-platform: ', normalize-space($identification/platform),'&#xa;')"/>
-  <xsl:value-of select="concat('os-label: ', normalize-space($identification/os-label),'&#xa;')"/>
-  <xsl:value-of select="concat('jvm-version: ', normalize-space($identification/jvm-version),'&#xa;')"/>
-  <xsl:value-of select="concat('jvm-label: ', normalize-space($identification/jvm-label),'&#xa;')"/>
-  <xsl:value-of select="concat('jvm-vendor: ', normalize-space($identification/jvm-vendor),'&#xa;')"/>
-  <xsl:value-of select="concat('jvm-arch: ', normalize-space($identification/jvm-arch),'&#xa;')"/>
-  <xsl:value-of select="concat('tests-dir: ', normalize-space($identification/tests-dir),'&#xa;')"/>
+  <xsl:value-of select="concat('sut-version: ', normalize-space($sut/version),'&#xa;')"/>
+  <xsl:value-of select="concat('sut-buildid: ', normalize-space($sut/buildid),'&#xa;')"/>
+  <xsl:value-of select="concat('sut-revision: ', normalize-space($sut/revision),'&#xa;')"/>
+  <xsl:value-of select="concat('os-hostname: ', normalize-space($sut/hostname),'&#xa;')"/>
+  <xsl:value-of select="concat('os-platform: ', normalize-space($sut/platform),'&#xa;')"/>
+  <xsl:value-of select="concat('os-label: ', normalize-space($sut/os-label),'&#xa;')"/>
+  <xsl:value-of select="concat('jvm-version: ', normalize-space($sut/jvm-version),'&#xa;')"/>
+  <xsl:value-of select="concat('jvm-label: ', normalize-space($sut/jvm-label),'&#xa;')"/>
+  <xsl:value-of select="concat('jvm-vendor: ', normalize-space($sut/jvm-vendor),'&#xa;')"/>
+  <xsl:value-of select="concat('jvm-arch: ', normalize-space($sut/jvm-arch),'&#xa;')"/>
+
 </xsl:template>
 
 </xsl:stylesheet>
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl
new file mode 100644
index 0000000..cdf3791
--- /dev/null
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl
@@ -0,0 +1,765 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0" 
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License").  You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ !      Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ !      Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+
+<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
+
+<xsl:template match="/">
+
+  <!-- Test Report Header Variables -->
+  <xsl:variable name="ft"             select="qa/functional-tests"/>
+  <xsl:variable name="id"             select="$ft/identification"/>
+  <xsl:variable name="sut"            select="$id/sut"/>
+  <xsl:variable name="testware"       select="$id/testware"/>
+  <xsl:variable name="url"            select="normalize-space($id/tests-url)"/>
+  <xsl:variable name="tests-dir"      select="normalize-space($id/tests-dir)"/>
+  <xsl:variable name="mailto"         select="normalize-space($id/mailto)"/>
+  <xsl:variable name="version"        select="normalize-space($sut[@product='opends']/version)"/>
+ 
+  <xsl:element name="html">
+  
+  <xsl:element name="head">
+
+  <link rel="SHORTCUT ICON" href="https://opends.dev.java.net/public/images/opends_favicon.gif" />
+  <style type="text/css">
+/* <![CDATA[ */
+ @import "/branding/css/tigris.css";
+ @import "/branding/css/inst.css";
+ /* ]]> */
+  </style>
+  <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />
+  <link rel="stylesheet" href="https://opends.dev.java.net/public/css/opends.css" type="text/css" />
+
+    <xsl:element name="title">
+      <xsl:value-of select="concat('Identification for OpenDS ',$version)"/>
+    </xsl:element>
+  
+  </xsl:element>
+  
+  <table class="tertmasttable" width="100%" cellspacing="0">
+    <tbody>
+      <tr>
+        <td><div class="collectionheader"><xsl:value-of select="concat('Identification for OpenDS ',$version)"/></div></td>
+        <td width="10%"><a href="https://opends.dev.java.net/"><img src="https://opends.dev.java.net/public/images/opends_logo_sm.png" alt="OpenDS Logo" width="104" height="33" border="0" align="middle" /></a> </td>
+      </tr>
+    </tbody>
+  </table>
+  
+  <!-- Shaded Line -->
+  <xsl:element name="hr">
+    <xsl:attribute name="noshade">
+      <xsl:value-of select="'noshade'"/>
+    </xsl:attribute>
+    <xsl:attribute name="size">
+      <xsl:value-of select="1"/>
+    </xsl:attribute>
+  </xsl:element>
+
+  <xsl:element name="body">
+
+  <!-- Software Under Test-->
+  <xsl:element name="h2">
+    <xsl:value-of select="'Software Under Test'"/>
+  </xsl:element>
+
+  <!-- OpenDS -->
+  <xsl:element name="h3">
+    <xsl:value-of select="'OpenDS'"/>
+  </xsl:element>
+
+  <!-- OpenDS Table -->  
+  <xsl:element name="table">
+    <xsl:attribute name="border">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+        <xsl:attribute name="width">
+      <xsl:value-of select="'80%'"/>
+    </xsl:attribute>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Name: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/name)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Version: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/version)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Build ID: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/buildid)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Revision: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/revision)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'MD5 Sum: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/md5-sum)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Hostname: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/hostname)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Version: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-version)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Vendor: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-vendor)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Archicture: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-arch)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Home: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-home)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Binpath: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-bin)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Args: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-args)"/>
+      </xsl:element>          
+    </xsl:element>
+  </xsl:element>
+
+  <!-- DSML Gateway -->
+  <xsl:element name="h3">
+    <xsl:value-of select="'DSML Gateway'"/>
+  </xsl:element>
+
+  <!-- DSML Gateway Table -->  
+  <xsl:element name="table">
+    <xsl:attribute name="border">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+        <xsl:attribute name="width">
+      <xsl:value-of select="'80%'"/>
+    </xsl:attribute>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Name: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='dsml']/name)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Version: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/version)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Build ID: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/buildid)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Revision: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/revision)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'MD5 Sum: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='dsml']/md5-sum)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Hostname: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/hostname)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Version: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-version)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Vendor: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-vendor)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Archicture: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-arch)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Java Home: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='opends']/jvm-home)"/>
+      </xsl:element>          
+    </xsl:element>
+   <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'Web Container: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($sut[@product='dsml']/dsml-container)"/>
+      </xsl:element>          
+    </xsl:element>
+  </xsl:element>
+
+  <xsl:element name="br"/>
+
+  <!-- Package Table -->  
+  <xsl:element name="table">
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'OpenDS Package: '"/>
+        </xsl:element>
+      </xsl:element>        
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="normalize-space($sut[@product='opends']/server-package)"/>
+          </xsl:attribute>
+            <xsl:value-of select="normalize-space($sut[@product='opends']/server-package)"/>
+          </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'DSML Gateway Package: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="normalize-space($sut[@product='dsml']/dsml-package)"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($sut[@product='dsml']/dsml-package)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'SNMP Package: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="normalize-space($sut[@product='opends']/snmp-jarfile)"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($sut[@product='opends']/snmp-jarfile)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>    
+  </xsl:element>
+
+  <xsl:element name="br"/>
+    
+  <!-- Shaded Line -->
+  <xsl:element name="hr">
+    <xsl:attribute name="noshade">
+      <xsl:value-of select="'noshade'"/>
+    </xsl:attribute>
+    <xsl:attribute name="size">
+      <xsl:value-of select="1"/>
+    </xsl:attribute>
+  </xsl:element>
+
+  <!-- Test Software -->
+  <xsl:element name="h2">
+    <xsl:value-of select="'Test Software'"/>
+  </xsl:element>
+
+  <!-- STAF -->
+  <xsl:element name="h3">
+    <xsl:value-of select="'STAF'"/>
+  </xsl:element>
+
+  <!-- STAF Table-->  
+  <xsl:element name="table">
+    <xsl:attribute name="border">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+        <xsl:attribute name="width">
+      <xsl:value-of select="'80%'"/>
+    </xsl:attribute>
+    <xsl:element name="tr">
+      <xsl:element name="th">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="br"/>
+      </xsl:element>
+      <xsl:element name="th">
+        <xsl:value-of select="'Controller'"/>
+      </xsl:element>          
+      <xsl:element name="th">
+        <xsl:value-of select="'Slave'"/>
+      </xsl:element>
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'STAF Host: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/local/hostname)"/>
+      </xsl:element>          
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/remote/hostname)"/>
+      </xsl:element>
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'STAF Version: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/local/version)"/>
+      </xsl:element>          
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/remote/version)"/>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:attribute name="width">
+          <xsl:value-of select="'25%'"/>
+        </xsl:attribute>
+        <xsl:element name="b">
+          <xsl:value-of select="'STAF Root: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/local/rootdir)"/>
+      </xsl:element>          
+      <xsl:element name="td">
+        <xsl:value-of select="normalize-space($testware/staf/remote/rootdir)"/>
+      </xsl:element>
+    </xsl:element>
+  </xsl:element>
+
+  <!-- STAF Services -->
+  <xsl:element name="h3">
+    <xsl:value-of select="concat('STAF Services on ',normalize-space($testware/staf/local/hostname))"/>
+  </xsl:element>
+
+  <!-- STAF Services Table-->  
+  <xsl:element name="table">
+    <xsl:attribute name="border">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'2'"/>
+    </xsl:attribute>
+        <xsl:attribute name="width">
+      <xsl:value-of select="'80%'"/>
+    </xsl:attribute>
+    <xsl:element name="tr">
+      <xsl:element name="th">
+          <xsl:value-of select="'Name'"/>
+      </xsl:element>
+      <xsl:element name="th">
+        <xsl:value-of select="'Version'"/>
+      </xsl:element>          
+      <xsl:element name="th">
+        <xsl:value-of select="'Library'"/>
+      </xsl:element>
+      <xsl:element name="th">
+        <xsl:value-of select="'Executable'"/>
+      </xsl:element>
+            <xsl:element name="th">
+        <xsl:value-of select="'Options'"/>
+      </xsl:element>
+      <xsl:element name="th">
+        <xsl:value-of select="'Params'"/>
+      </xsl:element>
+    </xsl:element>
+
+    <xsl:for-each select="$testware/service">
+    
+      <xsl:element name="tr">
+        <xsl:element name="td">
+          <xsl:element name="b">
+            <xsl:value-of select="@name"/>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:value-of select="version"/>
+        </xsl:element>          
+        <xsl:element name="td">
+          <xsl:value-of select="library"/>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:value-of select="executable"/>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:value-of select="options"/>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:value-of select="params"/>
+        </xsl:element>
+      </xsl:element>
+
+    </xsl:for-each>
+
+  </xsl:element>
+
+  <xsl:element name="br"/>
+
+  <!-- Shaded Line -->
+  <xsl:element name="hr">
+    <xsl:attribute name="noshade">
+      <xsl:value-of select="'noshade'"/>
+    </xsl:attribute>
+    <xsl:attribute name="size">
+      <xsl:value-of select="1"/>
+    </xsl:attribute>
+  </xsl:element>
+
+  <!-- Configuration -->
+  <xsl:element name="h2">
+    <xsl:value-of select="'Configuration Details'"/>
+  </xsl:element>
+
+  <!-- Configuration Table-->  
+  <xsl:element name="table">
+    <xsl:attribute name="border">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:attribute name="cellpadding">
+      <xsl:value-of select="'1'"/>
+    </xsl:attribute>
+    <xsl:element name="tr">
+      <xsl:element name="th">
+          <xsl:value-of select="'Attribute'"/>
+      </xsl:element>
+      <xsl:element name="th">
+        <xsl:value-of select="'Value'"/>
+      </xsl:element>          
+    </xsl:element>
+
+    <xsl:for-each select="$testware/config">
+    
+      <xsl:element name="tr">
+        <xsl:element name="td">
+          <xsl:element name="b">
+            <xsl:value-of select="attribute"/>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:value-of select="value"/>
+        </xsl:element>          
+      </xsl:element>
+
+    </xsl:for-each>
+
+  </xsl:element>
+
+  <xsl:element name="br"/>
+  
+  <!-- Shaded Line -->
+  <xsl:element name="hr">
+    <xsl:attribute name="noshade">
+      <xsl:value-of select="'noshade'"/>
+    </xsl:attribute>
+    <xsl:attribute name="size">
+      <xsl:value-of select="1"/>
+    </xsl:attribute>
+  </xsl:element>
+
+  <!-- Additional Information -->
+  <xsl:element name="h2">
+    <xsl:value-of select="'Additional Information'"/>
+  </xsl:element>
+
+  <xsl:element name="table">
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Test Archive: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat($url,normalize-space($tests-dir))"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($tests-dir)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+    <xsl:element name="tr">
+      <xsl:element name="td">
+        <xsl:element name="b">
+          <xsl:value-of select="'Mail Sent to: '"/>
+        </xsl:element>
+      </xsl:element>
+      <xsl:element name="td">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',normalize-space($mailto))"/>
+          </xsl:attribute>
+          <xsl:value-of select="normalize-space($mailto)"/>
+        </xsl:element>
+      </xsl:element>          
+    </xsl:element>
+  </xsl:element>
+  
+  <!-- Shaded Line -->
+  <xsl:element name="hr">
+    <xsl:attribute name="noshade">
+      <xsl:value-of select="'noshade'"/>
+    </xsl:attribute>
+    <xsl:attribute name="size">
+      <xsl:value-of select="1"/>
+    </xsl:attribute>
+  </xsl:element>
+  
+  </xsl:element>
+      
+  </xsl:element>
+
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl b/opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl
index 85face7..301d067 100644
--- a/opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl
+++ b/opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl
@@ -122,7 +122,7 @@
         </style>
         <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />
         <link rel="stylesheet" href="https://opends.dev.java.net/public/css/opends.css" type="text/css" />
-        <xsl:variable name="version"  select="/qa/functional-tests/identification/version"/>
+        <xsl:variable name="version"  select="/qa/functional-tests/identification/sut/version"/>
         <xsl:element name="title">
           <xsl:value-of select="concat('Functional tests report for OpenDS-',$version)"/>
         </xsl:element>
@@ -144,7 +144,7 @@
     <table class="tertmasttable" width="100%" cellspacing="0">
       <tbody>
         <tr>
-          <td><div class="collectionheader"><xsl:value-of select="concat('Test Report for OpenDS ',$identification/version)"/></div></td>
+          <td><div class="collectionheader"><xsl:value-of select="concat('Test Report for OpenDS ',$identification/sut/version)"/></div></td>
           <td width="10%"><a href="https://opends.dev.java.net/"><img src="https://opends.dev.java.net/public/images/opends_logo_sm.png" alt="OpenDS Logo" width="104" height="33" border="0" align="middle" /></a> </td>
         </tr>
       </tbody>
@@ -199,10 +199,10 @@
           <th align="center" width="5%">Coverage</th>
         </tr>
         <tr>
-          <th align="center"><xsl:value-of select="$identification/buildid"/></th>
-          <th align="center"><xsl:value-of select="$identification/revision"/></th>
-          <th align="center"><xsl:value-of select="$identification/os-label"/></th>
-          <th align="center"><xsl:value-of select="$identification/jvm-label"/></th>
+          <th align="center"><xsl:value-of select="$identification/sut/buildid"/></th>
+          <th align="center"><xsl:value-of select="$identification/sut/revision"/></th>
+          <th align="center"><xsl:value-of select="$identification/sut/os-label"/></th>
+          <th align="center"><xsl:value-of select="$identification/sut/jvm-label"/></th>
           <th align="center"><xsl:value-of select="$total"/></th>
           <th align="center"><xsl:value-of select="$pass"/></th>
           <th align="center"><xsl:value-of select="$fail"/></th>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml b/opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml
index f530b2e..275e9fd 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml
@@ -142,7 +142,8 @@
       <script> 
         
         ServersInfoDict=eval(STAFResult)
-        
+
+        ServerName='unknown'        
         ServerVersion='unknown'
         ServerBuildId='unknown'
         ServerJavaVersion='unknown'
@@ -154,10 +155,14 @@
         ServerSystemOS='unknown'
         ServerSystemName='unknown'
         ServerSvnRevision='unknown'
+        ServerPackage='%s/%s' % (ZIPPATH,ZIPNAME)
+        ServerSNMPJarFile='%s/%s' % (SNMP_OPENDMK_LIBDIR,SNMP_OPENDMK_JARFILE)
         
         if ServersInfoDict.has_key('%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)):       
           ServerInfoDict=ServersInfoDict['%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)]
-          
+
+          ServerName=OPENDSNAME         
+
           ServerInfoKey='server version'
           if ServerInfoDict.has_key(ServerInfoKey):
             ServerVersion=ServerInfoDict[ServerInfoKey]
@@ -211,6 +216,13 @@
 
       <message>'Server= %s' % ServerInfoDict </message>
 
+      <!-- Build the DSML Gateway Information Dictionary -->
+      <script>
+        DSMLName='%s' % DSML_WARNAME
+        DSMLPackage='%s' % DSML_WARPATH
+        DSMLContainer='%s %s' % (WC_TYPE,WC_VERSION)
+      </script>
+
       <!-- Get the location of where the test logs are -->
       <call function="'GetVar'">
         { 'location'  : STAF_REMOTE_HOSTNAME,
@@ -403,45 +415,223 @@
 
       <!-- XML Report Pre -->
       <script>
+        localstaf =test_env.staf(STAF_LOCAL_HOSTNAME)
+        remotestaf=test_env.staf(STAF_REMOTE_HOSTNAME)
+        
+        stax = test_env.stax(STAF_LOCAL_HOSTNAME)
+        event = test_env.event(STAF_LOCAL_HOSTNAME)
+        eventman = test_env.eventmanager(STAF_LOCAL_HOSTNAME)
+        email = test_env.email(STAF_LOCAL_HOSTNAME)
+        http = test_env.http(STAF_LOCAL_HOSTNAME)
+        dsml = test_env.dsml(STAF_LOCAL_HOSTNAME)
+                        
         xmlfh.write('&lt;qa&gt;\n')
         xmlfh.write('  &lt;functional-tests&gt;\n')
         xmlfh.write('    &lt;identification&gt;\n')
-        xmlfh.write('      &lt;version&gt;\n')
-        xmlfh.write('        %s\n' % ServerVersion)
-        xmlfh.write('      &lt;/version&gt;\n')    
-        xmlfh.write('      &lt;buildid&gt;\n')
-        xmlfh.write('        %s\n' % ServerBuildId)
-        xmlfh.write('      &lt;/buildid&gt;\n')
-        xmlfh.write('      &lt;revision&gt;\n')
-        xmlfh.write('        %s\n' % ServerSvnRevision)
-        xmlfh.write('      &lt;/revision&gt;\n')                 
-        xmlfh.write('      &lt;hostname&gt;\n')
-        xmlfh.write('        %s\n' % STAF_REMOTE_HOSTNAME)
-        xmlfh.write('      &lt;/hostname&gt;\n')
-        xmlfh.write('      &lt;platform&gt;\n')
-        xmlfh.write('        %s\n' % ServerSystemOS)
-        xmlfh.write('      &lt;/platform&gt;\n')
-        xmlfh.write('      &lt;jvm-version&gt;\n')
-        xmlfh.write('        %s\n' % ServerJVMVersion)
-        xmlfh.write('      &lt;/jvm-version&gt;\n')
-        xmlfh.write('      &lt;jvm-label&gt;\n')
-        xmlfh.write('        %s\n' % ServerJVMString)
-        xmlfh.write('      &lt;/jvm-label&gt;\n')
-        xmlfh.write('      &lt;jvm-vendor&gt;\n')
-        xmlfh.write('        %s\n' % ServerJVMVendor)
-        xmlfh.write('      &lt;/jvm-vendor&gt;\n')
-        xmlfh.write('      &lt;jvm-arch&gt;\n')
-        xmlfh.write('        %s\n' % ServerJVMArchitecture)
-        xmlfh.write('      &lt;/jvm-arch&gt;\n')
-        xmlfh.write('      &lt;os-label&gt;\n')
-        xmlfh.write('        %s\n' % ServerOsString)
-        xmlfh.write('      &lt;/os-label&gt;\n')                        
+        xmlfh.write('      &lt;sut product="opends"&gt;\n')
+        xmlfh.write('        &lt;name&gt;\n')
+        xmlfh.write('          %s\n' % ServerName)
+        xmlfh.write('        &lt;/name&gt;\n')    
+        xmlfh.write('        &lt;version&gt;\n')
+        xmlfh.write('          %s\n' % ServerVersion)
+        xmlfh.write('        &lt;/version&gt;\n')    
+        xmlfh.write('        &lt;buildid&gt;\n')
+        xmlfh.write('          %s\n' % ServerBuildId)
+        xmlfh.write('        &lt;/buildid&gt;\n')
+        xmlfh.write('        &lt;revision&gt;\n')
+        xmlfh.write('          %s\n' % ServerSvnRevision)
+        xmlfh.write('        &lt;/revision&gt;\n')                 
+        xmlfh.write('        &lt;hostname&gt;\n')
+        xmlfh.write('          %s\n' % STAF_REMOTE_HOSTNAME)
+        xmlfh.write('        &lt;/hostname&gt;\n')
+        xmlfh.write('        &lt;platform&gt;\n')
+        xmlfh.write('          %s\n' % ServerSystemOS)
+        xmlfh.write('        &lt;/platform&gt;\n')
+        xmlfh.write('        &lt;jvm-version&gt;\n')
+        xmlfh.write('          %s\n' % ServerJVMVersion)
+        xmlfh.write('        &lt;/jvm-version&gt;\n')
+        xmlfh.write('        &lt;jvm-label&gt;\n')
+        xmlfh.write('          %s\n' % ServerJVMString)
+        xmlfh.write('        &lt;/jvm-label&gt;\n')
+        xmlfh.write('        &lt;jvm-vendor&gt;\n')
+        xmlfh.write('          %s\n' % ServerJVMVendor)
+        xmlfh.write('        &lt;/jvm-vendor&gt;\n')
+        xmlfh.write('        &lt;jvm-arch&gt;\n')
+        xmlfh.write('          %s\n' % ServerJVMArchitecture)
+        xmlfh.write('        &lt;/jvm-arch&gt;\n')
+        xmlfh.write('        &lt;jvm-args&gt;\n')
+        xmlfh.write('          TBD\n')
+        xmlfh.write('        &lt;/jvm-args&gt;\n')
+        xmlfh.write('        &lt;jvm-home&gt;\n')
+        xmlfh.write('          TBD\n')
+        xmlfh.write('        &lt;/jvm-home&gt;\n')
+        xmlfh.write('        &lt;jvm-bin&gt;\n')
+        xmlfh.write('          TBD\n')
+        xmlfh.write('        &lt;/jvm-bin&gt;\n')
+        xmlfh.write('        &lt;os-label&gt;\n')
+        xmlfh.write('          %s\n' % ServerOsString)
+        xmlfh.write('        &lt;/os-label&gt;\n')         
+        xmlfh.write('        &lt;server-package&gt;\n')
+        xmlfh.write('          %s\n' % ServerPackage)
+        xmlfh.write('        &lt;/server-package&gt;\n')
+        xmlfh.write('        &lt;snmp-jarfile&gt;\n')
+        xmlfh.write('          %s\n' % ServerSNMPJarFile)
+        xmlfh.write('        &lt;/snmp-jarfile&gt;\n')
+        xmlfh.write('        &lt;md5-sum&gt;\n')
+        xmlfh.write('          TDB\n')
+        xmlfh.write('        &lt;/md5-sum&gt;\n')
+        xmlfh.write('      &lt;/sut&gt;\n')
+        xmlfh.write('      &lt;sut product="dsml"&gt;\n')
+        xmlfh.write('        &lt;name&gt;\n')
+        xmlfh.write('          %s\n' % DSMLName)
+        xmlfh.write('        &lt;/name&gt;\n')
+        xmlfh.write('        &lt;dsml-container&gt;\n')
+        xmlfh.write('          %s\n' % DSMLContainer)
+        xmlfh.write('        &lt;/dsml-container&gt;\n')
+        xmlfh.write('        &lt;dsml-package&gt;\n')
+        xmlfh.write('          %s\n' % DSMLPackage)
+        xmlfh.write('        &lt;/dsml-package&gt;\n')
+        xmlfh.write('        &lt;md5-sum&gt;\n')
+        xmlfh.write('          TDB\n')
+        xmlfh.write('        &lt;/md5-sum&gt;\n')
+        xmlfh.write('      &lt;/sut&gt;\n')        
+        xmlfh.write('      &lt;testware&gt;\n') 
+        xmlfh.write('        &lt;staf&gt;\n')
+        xmlfh.write('          &lt;local&gt;\n')
+        xmlfh.write('            &lt;hostname&gt;\n')
+        xmlfh.write('              %s\n' % STAF_LOCAL_HOSTNAME)
+        xmlfh.write('            &lt;/hostname&gt;\n')
+        xmlfh.write('            &lt;version&gt;\n')
+        xmlfh.write('              %s\n' % localstaf.version)
+        xmlfh.write('            &lt;/version&gt;\n')
+        xmlfh.write('            &lt;rootdir&gt;\n')
+        xmlfh.write('              %s\n' % localstaf.root)
+        xmlfh.write('            &lt;/rootdir&gt;\n')
+        xmlfh.write('          &lt;/local&gt;\n')
+        xmlfh.write('          &lt;remote&gt;\n')
+        xmlfh.write('            &lt;hostname&gt;\n')
+        xmlfh.write('              %s\n' % STAF_REMOTE_HOSTNAME)
+        xmlfh.write('            &lt;/hostname&gt;\n')
+        xmlfh.write('            &lt;version&gt;\n')
+        xmlfh.write('              %s\n' % remotestaf.version)
+        xmlfh.write('            &lt;/version&gt;\n')
+        xmlfh.write('            &lt;rootdir&gt;\n')
+        xmlfh.write('              %s\n' % remotestaf.root)
+        xmlfh.write('            &lt;/rootdir&gt;\n')
+        xmlfh.write('          &lt;/remote&gt;\n')
+        xmlfh.write('        &lt;/staf&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % stax.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % stax.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % stax.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % stax.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % stax.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % stax.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % event.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % event.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % event.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % event.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % event.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % event.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % eventman.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % eventman.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % eventman.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % eventman.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % eventman.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % eventman.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % email.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % email.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % email.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % email.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % email.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % email.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % http.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % http.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % http.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % http.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % http.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % http.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')
+        xmlfh.write('        &lt;service name="%s"&gt;\n' % dsml.name)
+        xmlfh.write('          &lt;version&gt;\n')
+        xmlfh.write('            %s\n' % dsml.version)
+        xmlfh.write('          &lt;/version&gt;\n')
+        xmlfh.write('          &lt;library&gt;\n')
+        xmlfh.write('            %s\n' % dsml.library)
+        xmlfh.write('          &lt;/library&gt;\n')
+        xmlfh.write('          &lt;executable&gt;\n')
+        xmlfh.write('            %s\n' % dsml.executable)
+        xmlfh.write('          &lt;/executable&gt;\n')        
+        xmlfh.write('          &lt;options&gt;\n')
+        xmlfh.write('            %s\n' % dsml.options)
+        xmlfh.write('          &lt;/options&gt;\n')
+        xmlfh.write('          &lt;params&gt;\n')
+        xmlfh.write('            %s\n' % dsml.params)
+        xmlfh.write('          &lt;/params&gt;\n')
+        xmlfh.write('        &lt;/service&gt;\n')        
+        xmlfh.write('      &lt;/testware&gt;\n')
         xmlfh.write('      &lt;tests-dir&gt;\n')
         xmlfh.write('        %s\n' % logsDir)
         xmlfh.write('      &lt;/tests-dir&gt;\n')
         xmlfh.write('      &lt;tests-url&gt;\n')
         xmlfh.write('        %s\n' % logsURI)
         xmlfh.write('      &lt;/tests-url&gt;\n')
+        xmlfh.write('      &lt;mailto&gt;\n')
+        xmlfh.write('        %s\n' % SEND_MAIL_TO)
+        xmlfh.write('      &lt;/mailto&gt;\n')
         xmlfh.write('    &lt;/identification&gt;\n')
         xmlfh.write('    &lt;results&gt;\n')
       </script>
@@ -585,26 +775,25 @@
               _message='Unable to generate suites test report %s !!!' % groupDir
       </script>
       <message>_message</message>
-                                
-      <!-- Generate the drill down test report -->
-      <script>          
-        _message='Generated the drill down test report.'
-        myreportxsl='%s/xsl/my-report.xsl' % TESTS_SHARED_DIR
-        myreporthtml='%s/my-report.html' % logsReportDir
-        mytestslog='%s/tests-log.xml' % logsTestsDir
 
-        drillDownReport=report_generation()      
+      <!-- Generate the product identification report -->
+       <script>
+        _message='Generated product identification test report.'
+        xslfile= '%s/xsl/id.xsl' % TESTS_SHARED_DIR
+        htmlfile= '%s/id.html' % logsReportDir
+
+        idReport=report_generation()      
 
         stringParamsDict={}
 
         try:
-          drillDownReport.transformReport(myreportxsl,mytestslog,myreporthtml,stringParamsDict)
+          idReport.transformReport(xslfile,xmlfile,htmlfile,stringParamsDict)
         except IOError,details:
-          _message='Unable to generate drill down test report %s.' % details
+          _message='Unable to generate product identification test report %s.' % details
         except:
-          _message='Unable to generate drill down test report !!!'
+          _message='Unable to generate product identification test report !!!'
       </script>
-      <message>_message</message>
+      <message>_message</message>                                
 
       <!-- Generate the summary text file -->
       <script>          
@@ -623,30 +812,6 @@
           _message='Unable to generate summary text file %s.' % details
       </script>
       <message>_message</message>
-            
-      <!-- FixMe: Compatability with Hudson -->      
-      <if expr="os.path.exists(myreporthtml)">
-        <sequence>
-          <message>'Copy %s to %s' % (myreporthtml,TMPDIR)</message>
-          <call function="'copyFile'">
-            { 'srcfile'    : myreporthtml,
-              'destfile'   : '%s/my-report.html' % TMPDIR
-            }
-          </call>
-        </sequence>
-      </if>
-
-      <!-- FixMe: Compatability with Hudson -->
-      <if expr="os.path.exists(mytestslog)">
-        <sequence>
-          <message>'Copy %s to %s' % (mytestslog,TMPDIR)</message>
-          <call function="'copyFile'">
-            { 'srcfile'    : mytestslog,
-              'destfile'   : '%s/tests-log.xml' % TMPDIR
-            }
-          </call>
-        </sequence>
-      </if>
            
       <if expr="SEND_MAIL_AFTER_TEST_RUN == 'TRUE'">
         <sequence>
diff --git a/opends/tests/staf-tests/shared/python/common.py b/opends/tests/staf-tests/shared/python/common.py
index 030c4bf..7d7da0b 100644
--- a/opends/tests/staf-tests/shared/python/common.py
+++ b/opends/tests/staf-tests/shared/python/common.py
@@ -140,6 +140,7 @@
         self.transformer.setParameter(self.key, self.value)
 
       self.transformer.transform(self.source, self.result)
+
     finally:
       self.xsl.close()
       self.xml.close()
@@ -282,7 +283,7 @@
     self.library=__entryMap['library']
     self.executable=__entryMap['executable']
     self.options=__entryMap['options']
-    self.parms=__entryMap['parameters']
+    self.params=__entryMap['parameters']
 
   def get_library(self):
     return self.library
@@ -296,8 +297,8 @@
   def get_options(self):
     return self.options
 
-  def get_parms(self):
-    return self.parms
+  def get_params(self):
+    return self.params
 
 class test_env:
   'Container to hold test environment instance objects'

--
Gitblit v1.10.0