mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

gary_williams
18.00.2008 2a6a4b500d670ead9f54c5ccbcb1421626b1aef8
Improve identification of software under test and testware (II) 
1 files added
7 files modified
1249 ■■■■ changed files
opends/tests/staf-tests/functional-tests/shared/xsl/gen-alltests-report.xsl 19 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/xsl/gen-groups-report.xsl 61 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/xsl/gen-suites-report.xsl 55 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/xsl/gen-text-summary.xsl 29 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl 765 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/xsl/my-report.xsl 12 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/runTestJob.xml 301 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/shared/python/common.py 7 ●●●●● patch | view | raw | blame | history
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">
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>
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>
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>
opends/tests/staf-tests/functional-tests/shared/xsl/id.xsl
New file
@@ -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>
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>
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>
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'