From a799ff0240b9eb317352d4ecd416da5cb6beb8d9 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 28 May 2010 13:52:16 +0000
Subject: [PATCH] Fix tests and remove obsolete ones.
---
opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-groups-report.xsl | 16
opendj-sdk/opends/tests/staf-tests/shared/staf/staf-controller.cfg | 2
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml | 61 ++
opendj-sdk/opends/tests/staf-tests/shared/tests/runTestJob.xml | 107 ++--
opendj-sdk/opends/tests/staf-tests/shared/tests/runTests.xml | 71 ++-
/dev/null | 643 ------------------------------
opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-suites-report.xsl | 16
opendj-sdk/opends/tests/staf-tests/shared/ant/tests.xml | 98 +++-
opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml | 65 ++
opendj-sdk/opends/tests/staf-tests/shared/functions/webcontainer.xml | 26
opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml | 68 +-
opendj-sdk/opends/tests/staf-tests/shared/xsl/id.xsl | 18
opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-tests-report.xsl | 16
13 files changed, 376 insertions(+), 831 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
index a1b72b4..9dacad3 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
@@ -49,17 +49,17 @@
<call function="'createFolder'">
{
'location' : STAXServiceMachine,
- 'foldername' : '%s/dsml/STAF-INF/jars' % TMPDIR
+ 'foldername' : '%s/dsml/STAF-INF/jars' % local.temp
}
</call>
- <!--- In IPS mode, get snmp-mib2605.jar from remote machine-->
+ <!--- In IPS mode, get OpenDS.jar from remote machine-->
<if expr="IPS_PKG == True">
<call function="'copyFile'">
{
'location' : STAF_REMOTE_HOSTNAME,
'srcfile' : '%s/%s/lib/OpenDS.jar' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME),
- 'destfile' : '%s/dsml/STAF-INF/jars/OpenDS.jar' % TMPDIR,
+ 'destfile' : '%s/dsml/STAF-INF/jars/OpenDS.jar' % local.temp,
'remotehost' : STAXServiceMachine
}
</call>
@@ -70,15 +70,29 @@
'location' : STAXServiceMachine,
'zipfile' : '%s/%s' % (ZIPPATH, ZIPNAME),
'file' : '%s/lib/OpenDS.jar' % OPENDSNAME,
- 'unzipdir' : '%s/dsml' % TMPDIR
+ 'unzipdir' : '%s/dsml' % local.temp
}
</call>
+ <!-- The war file can be included in the OpenDS archive -->
+ <if expr="not PRODUCTNAME.startswith('OpenDS')">
+ <sequence>
+ <call function="'unZipFile'">
+ {
+ 'location' : STAXServiceMachine,
+ 'zipfile' : '%s/%s' % (ZIPPATH, ZIPNAME),
+ 'file' : '%s/addons/DSML.war' % OPENDSNAME,
+ 'unzipdir' : '%s/dsml' % local.temp
+ }
+ </call>
+ </sequence>
+ </if>
+
<call function="'copyFile'">
{
'location' : STAXServiceMachine,
- 'srcfile' : '%s/dsml/%s/lib/OpenDS.jar' % (TMPDIR,OPENDSNAME),
- 'destfile' : '%s/dsml/STAF-INF/jars/OpenDS.jar' % TMPDIR,
+ 'srcfile' : '%s/dsml/%s/lib/OpenDS.jar' % (local.temp,OPENDSNAME),
+ 'destfile' : '%s/dsml/STAF-INF/jars/OpenDS.jar' % local.temp,
'remotehost' : STAXServiceMachine
}
</call>
@@ -86,20 +100,25 @@
</else>
</if>
+ <!-- The war file can be included in the OpenDS archive -->
+ <script>
+ if not PRODUCTNAME.startswith('OpenDS'):
+ DSML_WARPATH = '%s/dsml/%s/addons/DSML.war' % (local.temp,OPENDSNAME)
+ </script>
<call function="'unZipFile'">
{
'location' : STAXServiceMachine,
'zipfile' : DSML_WARPATH,
'directory': 'WEB-INF/classes',
- 'unzipdir' : '%s/dsml' % TMPDIR,
+ 'unzipdir' : '%s/dsml' % local.temp,
}
</call>
<call function="'copyFolder'">
{
'location' : STAXServiceMachine,
- 'srcfolder' : '%s/dsml/WEB-INF/classes' % TMPDIR,
- 'destfolder' : '%s/dsml/STAF-INF/classes' % TMPDIR,
+ 'srcfolder' : '%s/dsml/WEB-INF/classes' % local.temp,
+ 'destfolder' : '%s/dsml/STAF-INF/classes' % local.temp,
'remotehost' : STAXServiceMachine
}
</call>
@@ -118,9 +137,9 @@
else:
separator=':'
- opendsjar='%s/dsml/STAF-INF/jars/OpenDS.jar' % TMPDIR
- emmajar='%s/dsml/STAF-INF/jars/emma.jar' % TMPDIR
- dsmlclasses='%s/dsml/STAF-INF/classes' % TMPDIR
+ opendsjar='%s/dsml/STAF-INF/jars/OpenDS.jar' % local.temp
+ emmajar='%s/dsml/STAF-INF/jars/emma.jar' % local.temp
+ dsmlclasses='%s/dsml/STAF-INF/classes' % local.temp
</script>
<call function="'GetVar'">
@@ -138,7 +157,7 @@
{
'location' : STAXServiceMachine,
'foldername' : '%s/src' % TESTS_DSML_DIR,
- 'destfolder' : '%s/dsml/STAF-INF/classes' % TMPDIR,
+ 'destfolder' : '%s/dsml/STAF-INF/classes' % local.temp,
'classpath' : '%s%s%s%s%s%s%s' \
% (opendsjar,separator,emmajar,separator,dsmlclasses,separator,cp)
}
@@ -148,7 +167,7 @@
{
'location' : STAXServiceMachine,
'srcfile' : '%s/resource/errorStrings.properties' % TESTS_DSML_DIR,
- 'destfile' : '%s/dsml/STAF-INF/classes/errorStrings.properties' % TMPDIR,
+ 'destfile' : '%s/dsml/STAF-INF/classes/errorStrings.properties' % local.temp,
'remotehost' : STAXServiceMachine
}
</call>
@@ -164,7 +183,7 @@
'location' : STAXServiceMachine,
'jarname' : '%s/dsml/dsmlService.jar' % local.java,
'entrypoint' : 'STAF-INF',
- 'pathfolder' : '%s/dsml' % TMPDIR,
+ 'pathfolder' : '%s/dsml' % local.temp,
'manifestpath' : '%s/MANIFEST.MF' % TESTS_DSML_DIR
}
</call>
@@ -421,6 +440,13 @@
<message>
'setup: deploy DSML gateway webapp as described in config.py'
</message>
+
+ <!-- The war file can be included in the OpenDS archive -->
+ <script>
+ if not PRODUCTNAME.startswith('OpenDS'):
+ DSML_WARPATH = '%s/dsml/%s/addons/DSML.war' % (local.temp,OPENDSNAME)
+ </script>
+
<call function="'deployWebApplicationWAR'">
{ 'warFilePath' : '%s' % DSML_WARPATH }
</call>
@@ -494,6 +520,11 @@
}
</call>
+ <!-- The war file can be included in the OpenDS archive -->
+ <script>
+ if not PRODUCTNAME.startswith('OpenDS'):
+ DSML_WARPATH = '%s/dsml/%s/addons/DSML.war' % (local.temp,OPENDSNAME)
+ </script>
<call function="'runSTAFCommand'">
{ 'name' : 'Extract DSML gateway web.xml',
'location' : STAXServiceMachine,
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/ant/tests.xml b/opendj-sdk/opends/tests/staf-tests/shared/ant/tests.xml
index 27330d6..a79b057 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/ant/tests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/ant/tests.xml
@@ -385,7 +385,6 @@
original.archive=${opends.dir.input}/${opends.name.input}.zip</echo>
</target>
-
<target name="coverage-init">
<path id="emma.lib">
<pathelement location="${project.home}/ext/emma/lib/emma.jar" />
@@ -393,40 +392,59 @@
</path>
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
</target>
+
<target name="coverage-on" depends="coverage-init">
<property name="coverage.on" value="true"/>
</target>
+
<target name="coverage-instrument" if="coverage.on">
- <delete dir="${tests.tmp.dir}/coverage-instr" />
- <mkdir dir="${tests.tmp.dir}/coverage-instr/opends" />
- <mkdir dir="${tests.tmp.dir}/coverage-instr/dsml" />
+ <delete dir="${temp.dir}/coverage-instr" />
+ <mkdir dir="${temp.dir}/coverage-instr/opends" />
+ <mkdir dir="${temp.dir}/coverage-instr/dsml" />
+
<!-- unzip the original package in a temporary location to make the
changes necessary so that the coverage tool is called
-->
<unzip src="${opends.dir}/${opends.name}.zip"
- dest="${tests.tmp.dir}/coverage-instr/opends"/>
-
- <unzip src="${opends.dir}/${opends.name}-DSML.war"
- dest="${tests.tmp.dir}/coverage-instr/dsml"/>
+ dest="${temp.dir}/coverage-instr/opends"/>
+ <if>
+ <matches string="${product.name}" pattern="^OpenDS ."/>
+ <then>
+ <!-- The war file is not in the opends archive -->
+ <unzip src="${opends.dir}/${opends.name}-DSML.war"
+ dest="${temp.dir}/coverage-instr/dsml"/>
+ </then>
+ <else>
+ <!-- The war file is in the opends archive -->
+ <unzip src="${temp.dir}/coverage-instr/opends/${opends.name}/addons/DSML.war"
+ dest="${temp.dir}/coverage-instr/dsml"/>
+ </else>
+ </if>
<!-- Add emma in the package along with the other librairies
this has the advantage of being automatically picked up by the scripts
-->
<copy file="${project.home}/ext/emma/lib/emma.jar"
- tofile="${tests.tmp.dir}/coverage-instr/opends/${opends.name}/lib/emma.jar"/>
+ tofile="${temp.dir}/coverage-instr/opends/${opends.name}/lib/emma.jar"/>
<copy file="${project.home}/ext/emma/lib/emma.jar"
- tofile="${tests.tmp.dir}/coverage-instr/dsml/WEB-INF/lib/emma.jar"/>
+ tofile="${temp.dir}/coverage-instr/dsml/WEB-INF/lib/emma.jar"/>
<!-- move the original product package to make room for the coverage
enabled package
-->
<move file="${opends.dir}/${opends.name}.zip" tofile="${opends.dir}/${opends.name}.zip.nocov"/>
- <move file="${opends.dir}/${opends.name}-DSML.war" tofile="${opends.dir}/${opends.name}-DSML.war.nocov"/>
+ <if>
+ <matches string="${product.name}" pattern="^OpenDS ."/>
+ <then>
+ <!-- The war file is not in the opends archive, so we need to backup the original package -->
+ <move file="${opends.dir}/${opends.name}-DSML.war" tofile="${opends.dir}/${opends.name}-DSML.war.nocov"/>
+ </then>
+ </if>
<!-- intrument the OpenDS java archive to gather coverage -->
- <java classpath="${tests.tmp.dir}/coverage-instr/opends/${opends.name}/lib/emma.jar"
+ <java classpath="${temp.dir}/coverage-instr/opends/${opends.name}/lib/emma.jar"
classname="emma" fork="true">
- <jvmarg value="-Demma.metadata.out.file=${tests.tmp.dir}/coverage-instr/opends/${opends.name}/coverage.em" />
+ <jvmarg value="-Demma.metadata.out.file=${temp.dir}/coverage-instr/opends/${opends.name}/coverage.em" />
<arg value="instr" />
<arg value="-m" />
<arg value="overwrite" />
@@ -439,12 +457,12 @@
<arg value="-ix" />
<arg value="com.*" />
<arg value="-ip" />
- <arg value="${tests.tmp.dir}/coverage-instr/opends/${opends.name}/lib/OpenDS.jar:${tests.tmp.dir}/coverage-instr/opends/${opends.name}/lib/extensions/snmp-mib2605.jar" />
+ <arg value="${temp.dir}/coverage-instr/opends/${opends.name}/lib/OpenDS.jar:${temp.dir}/coverage-instr/opends/${opends.name}/lib/extensions/snmp-mib2605.jar" />
</java>
- <java classpath="${tests.tmp.dir}/coverage-instr/dsml/WEB-INF/lib/emma.jar"
+ <java classpath="${temp.dir}/coverage-instr/dsml/WEB-INF/lib/emma.jar"
classname="emma" fork="true">
- <jvmarg value="-Demma.metadata.out.file=${tests.tmp.dir}/coverage-instr/dsml/WEB-INF/lib/coverage.em" />
+ <jvmarg value="-Demma.metadata.out.file=${temp.dir}/coverage-instr/dsml/WEB-INF/lib/coverage.em" />
<arg value="instr" />
<arg value="-m" />
<arg value="overwrite" />
@@ -457,29 +475,53 @@
<arg value="-ix" />
<arg value="com.*" />
<arg value="-ip" />
- <arg value="${tests.tmp.dir}/coverage-instr/dsml/WEB-INF/classes" />
+ <arg value="${temp.dir}/coverage-instr/dsml/WEB-INF/classes" />
</java>
+
+ <!-- Repackage DSML Gateway the product with coverage enabled scripts -->
+ <if>
+ <matches string="${product.name}" pattern="^OpenDS ."/>
+ <then>
+ <!-- The war file is not in the opends archive, so we need to repackage the war file -->
+ <zip basedir="${temp.dir}/coverage-instr/dsml" destfile="${opends.dir}/${opends.name}-DSML.war">
+ <zipfileset dir="${temp.dir}/coverage-instr/dsml"
+ includes="WEB-INF/**,META-INF/**"/>
+ </zip>
+ </then>
+ <else>
+ <!-- The war file is in the opends archive, so we need to replace the war file -->
+ <delete file="${temp.dir}/coverage-instr/opends/${opends.name}/addons/DSML.war"/>
+ <zip basedir="${temp.dir}/coverage-instr/dsml" destfile="${temp.dir}/coverage-instr/opends/${opends.name}/addons/DSML.war">
+ <zipfileset dir="${temp.dir}/coverage-instr/dsml"
+ includes="WEB-INF/**,META-INF/**"/>
+ </zip>
+ </else>
+ </if>
+
<!-- Repackage OpenDS the product with coverage enabled scripts -->
- <zip basedir="${tests.tmp.dir}/coverage-instr/opends" destfile="${opends.dir}/${opends.name}.zip">
- <zipfileset dir="${tests.tmp.dir}/coverage-instr/opends"
+ <zip basedir="${temp.dir}/coverage-instr/opends" destfile="${opends.dir}/${opends.name}.zip">
+ <zipfileset dir="${temp.dir}/coverage-instr/opends"
includes="${opends.name}/setup,${opends.name}/uninstall,${opends.name}/upgrade,${opends.name}/bin/*,${opends.name}/lib/*.sh"
filemode="755" dirmode="755" />
</zip>
- <!-- Repackage DSML Gateway the product with coverage enabled scripts -->
- <zip basedir="${tests.tmp.dir}/coverage-instr/dsml" destfile="${opends.dir}/${opends.name}-DSML.war">
- <zipfileset dir="${tests.tmp.dir}/coverage-instr/dsml"
- includes="WEB-INF/**,META-INF/**"/>
- </zip>
-
- <!-- <delete dir="${tests.tmp.dir}/coverage-instr"/> -->
+ <delete dir="${temp.dir}/coverage-instr"/>
</target>
+
<target name="restore-pkg" if="coverage.on">
<delete file="${opends.dir}/${opends.name}.zip"/>
<move file="${opends.dir}/${opends.name}.zip.nocov" tofile="${opends.dir}/${opends.name}.zip"/>
- <delete file="${opends.dir}/${opends.name}-DSML.war"/>
- <move file="${opends.dir}/${opends.name}-DSML.war.nocov" tofile="${opends.dir}/${opends.name}-DSML.war"/>
+ <if>
+ <matches string="${product.name}" pattern="^OpenDS ."/>
+ <then>
+ <!-- The war file is not in the opends archive, so we need to restore the original package -->
+ <delete file="${opends.dir}/${opends.name}-DSML.war"/>
+ <move file="${opends.dir}/${opends.name}-DSML.war.nocov" tofile="${opends.dir}/${opends.name}-DSML.war"/>
+ </then>
+ </if>
+
</target>
+
<target name="testwithcoverage" depends="coverage-on,coverage-instrument,run,restore-pkg"/>
</project>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
index fdd5654..5fb07b8 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
@@ -453,7 +453,7 @@
}
</call>
<!-- 'SNMP_OPENDMK_JARFILE' exists so we can continue with SNMP -->
- <if expr="RC != 48">
+ <if expr="RC != 48 or not PRODUCTNAME.startswith('OpenDS')">
<sequence>
<!--- Check if snmp java files are already compiled -->
<call function="'listFolderByExtension'" >
@@ -468,28 +468,34 @@
<!--- Install DS Copy zip file -->
<message>
'Copy DS zip archive locally from %s to %s.' % \
- (ZIPPATH,TMPDIR)
+ (ZIPPATH,local.temp)
</message>
<call function="'copyFile'">
{
'srcfile' : '%s/%s' % (ZIPPATH, ZIPNAME),
- 'destfile' : '%s/%s' % (TMPDIR, ZIPNAME),
+ 'destfile' : '%s/%s' % (local.temp, ZIPNAME),
'remotehost' : STAXServiceMachine
}
</call>
<!--- Install DS Extract zip file -->
<message>
- 'Extract locally DS zip archive to %s' % TMPDIR
+ 'Extract locally DS zip archive to %s' % local.temp
</message>
<call function="'unZipFile'">
{
'location' : STAXServiceMachine,
- 'zipfile' : '%s/%s' % (TMPDIR, ZIPNAME),
- 'unzipdir' : TMPDIR
+ 'zipfile' : '%s/%s' % (local.temp, ZIPNAME),
+ 'unzipdir' : local.temp
}
</call>
-
+
+ <!-- The jdmkrt.jar can be included in the OpenDS archive -->
+ <script>
+ if not PRODUCTNAME.startswith('OpenDS'):
+ SNMP_OPENDMK_JARFILE='%s/%s/addons/jdmkrt.jar' % (local.temp,OPENDSNAME)
+ </script>
+
<script>
if is_windows_platform(STAXServiceMachine):
jstaf_jarfile='%s\\bin\\JSTAF.jar' % LOCAL_STAF_ROOT
@@ -503,7 +509,7 @@
{
'location' : STAF_REMOTE_HOSTNAME,
'srcfile' : '%s/%s' % (DIRECTORY_INSTANCE_BIN,SNMP_OPENDS_JARFILE),
- 'destfile' : '%s/%s' % (TMPDIR,SNMP_OPENDS_JARFILE),
+ 'destfile' : '%s/%s' % (local.temp,SNMP_OPENDS_JARFILE),
'remotehost' : STAXServiceMachine
}
</call>
@@ -515,7 +521,7 @@
% (javaLocalDir, STAXServiceMachine)
</message>
<script>
- opends_jarfile='%s/%s' % (TMPDIR,SNMP_OPENDS_JARFILE)
+ opends_jarfile='%s/%s' % (local.temp,SNMP_OPENDS_JARFILE)
if is_windows_platform(STAXServiceMachine):
separator=';'
@@ -531,28 +537,6 @@
}
</call>
- <!-- Delete the DS zip archive -->
- <message>
- 'Delete %s/%s' % (TMPDIR, ZIPNAME)
- </message>
- <call function="'deleteFile'">
- {
- 'location' : STAXServiceMachine,
- 'filename' : '%s/%s' % (TMPDIR, ZIPNAME)
- }
- </call>
-
- <!-- Delete the DS install dir -->
- <message>
- 'Delete %s/%s' % (TMPDIR, OPENDSNAME)
- </message>
- <call function="'deleteFolder'">
- {
- 'location' : STAXServiceMachine,
- 'foldername' : '%s/%s' % (TMPDIR, OPENDSNAME)
- }
- </call>
-
<!-- Archive SNMP_OPENDMK_JARFILE file -->
<message>
'Copy OpenDMK jar file %s locally to %s.' \
@@ -566,6 +550,28 @@
'remotehost' : STAXServiceMachine
}
</call>
+
+ <!-- Delete the DS zip archive -->
+ <message>
+ 'Delete %s/%s' % (local.temp, ZIPNAME)
+ </message>
+ <call function="'deleteFile'">
+ {
+ 'location' : STAXServiceMachine,
+ 'filename' : '%s/%s' % (local.temp, ZIPNAME)
+ }
+ </call>
+
+ <!-- Delete the DS install dir -->
+ <message>
+ 'Delete %s/%s' % (local.temp, OPENDSNAME)
+ </message>
+ <call function="'deleteFolder'">
+ {
+ 'location' : STAXServiceMachine,
+ 'foldername' : '%s/%s' % (local.temp, OPENDSNAME)
+ }
+ </call>
</sequence>
</if>
</sequence>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
index cd648e8..c5681aa 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
@@ -1041,7 +1041,7 @@
xml.createAttr(doc,xml.issue,"id",issueID)
xml.issues.appendChild(xml.issue)
- xml.writeXMLfile(doc,"%s/results2.xml" % logs.reports)
+ xml.writeXMLfile(doc,"%s/results_tmp.xml" % logs.reports)
</script>
<call function="'queryLogs'">
@@ -1072,14 +1072,14 @@
reportCfg.write('hostname = %s\n' % STAF_REMOTE_HOSTNAME)
reportCfg.write('testcasesfail = %s\n' % nbFail)
reportCfg.write('testcasesdone = %s\n' % nbDone)
- reportCfg.write('testcasestotal = 2833\n')
+ reportCfg.write('testcasestotal = 2851\n')
reportCfg.write('starttime = %s\n' % starttime)
reportCfg.write('duration = %s\n' % duration)
reportCfg.write('dsconfigduration = 0\n')
reportCfg.write('percentage = %s\n' % percentage)
reportCfg.write('allbugs = %s\n' % allbugs)
reportCfg.write('os = %s\n' % TEST_OS_STRING)
- reportCfg.write('report = reports/results2.xml\n')
+ reportCfg.write('report = reports/results_tmp.xml\n')
reportCfg.write('istemporary = True\n')
reportCfg.close()
</script>
@@ -1110,7 +1110,7 @@
xml.createAttr(doc,xml.testsuite,"shortname",ThisSuiteName)
xml.testgroup.appendChild(xml.testsuite)
- xml.writeXMLfile(doc,"%s/results2.xml" % logs.reports)
+ xml.writeXMLfile(doc,"%s/results_tmp.xml" % logs.reports)
</script>
@@ -1194,7 +1194,7 @@
xml=xmldoc_service()
- doc = xml.parseXMLfile("%s/results2.xml" % logs.reports)
+ doc = xml.parseXMLfile("%s/results_tmp.xml" % logs.reports)
qa = doc.getDocumentElement()
ft = qa.getChildNodes().item(1)
@@ -1229,7 +1229,7 @@
xml.createAttr(doc,xml.testgroup,"name",ThisGroupName)
results.appendChild(xml.testgroup)
- xml.writeXMLfile(doc,"%s/results2.xml" % logs.reports)
+ xml.writeXMLfile(doc,"%s/results_tmp.xml" % logs.reports)
</script>
<message>'##### %s group preamble #####' % ThisGroupName</message>
@@ -1257,18 +1257,36 @@
<script>
emmaJar='%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
</script>
-
- <if expr="os.path.exists(emmaJar)">
+ <!-- Check if 'emma.jar' exists -->
+ <call function="'GetEntry'">
+ {
+ 'location' : STAF_REMOTE_HOSTNAME ,
+ 'entry' : emmaJar ,
+ 'attribute' : 'TYPE'
+ }
+ </call>
+ <if expr="RC != 48">
+ <!-- 'emma.jar' exists -->
<sequence>
<script>
- coveragePath=os.path.join(LOGS_ROOT,'coverage')
- coverageEm=os.path.join(DIRECTORY_INSTANCE_DIR,OPENDSNAME,'coverage.em')
- ecPath=os.path.join(coveragePath,CurrentTestPath['group'])
- coverageEcs=[ os.path.join(ecPath,ec) for ec in os.listdir(ecPath) if ec.startswith('coverage') and ec.endswith('.ec')]
- coverageFiles=','.join(coverageEcs)
- coverageXml=os.path.join(ecPath,'coverage.xml')
- coverageHtml=os.path.join(ecPath,'coverage.html')
- srcPathPrefix = os.path.join(TMPDIR,"..","..","..","..","..","..","src")
+ remoteCoveragePath=os.path.join(remote.temp,'coverage')
+ coverageEm=os.path.join(remoteCoveragePath,'coverage.em')
+ ecPath=os.path.join(remoteCoveragePath,CurrentTestPath['group'])
+ </script>
+
+ <call function="'listFolderByExtension'" >
+ {
+ 'location' : STAF_REMOTE_HOSTNAME,
+ 'foldername' : ecPath,
+ 'extension' : 'ec'
+ }
+ </call>
+
+ <script>
+ coverageFiles=','.join(STAXResult)
+
+ coverageHtml=os.path.join(remoteCoveragePath,CurrentTestPath['group'],'coverage.html')
+ srcPathPrefix = os.path.join(TESTS_ROOT,"..","..","src")
srcPaths = [ os.path.join(srcPathPrefix,"server"),
os.path.join(srcPathPrefix,"ads"),
os.path.join(srcPathPrefix,"server","org"),
@@ -1281,10 +1299,11 @@
srcArgs = " -sp ".join(srcPaths)
</script>
<call function="'runCommand'">
- { 'name' : 'Generate coverage xml report for test group %s' % CurrentTestPath['group'],
- 'command' : 'java',
- 'arguments' : ' -Xms64M -Xmx1G -cp %s emma report -r html -in %s,%s -Dreport.html.out.file=%s -sp %s' % (emmaJar, coverageEm, coverageFiles, coverageHtml, srcArgs),
- 'path' : TMPDIR
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'name' : 'Generate coverage html report for test group %s' % CurrentTestPath['group'],
+ 'command' : 'java',
+ 'arguments' : '-Xms64M -Xmx1G -cp %s emma report -r html -in %s,%s -Dreport.html.out.file=%s -sp %s' % (emmaJar, coverageEm, coverageFiles, coverageHtml, srcArgs),
+ 'path' : ecPath
}
</call>
</sequence>
@@ -1352,6 +1371,12 @@
'output' : htmlFile }
</call>
+ <!-- Delete the XML file -->
+ <call function="'deleteFile'">
+ { 'location' : STAXServiceMachine,
+ 'filename' : xmlFile }
+ </call>
+
</sequence>
</function>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/webcontainer.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/webcontainer.xml
index 75dd3e1..9b34814 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/webcontainer.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/webcontainer.xml
@@ -83,7 +83,7 @@
<call function="'GetEntry'">
{
'location' : STAXServiceMachine,
- 'entry' : '%s/%sCertificate' % (TMPDIR, WC_TYPE),
+ 'entry' : '%s/HttpCertificate' % TMPDIR,
'attribute' : 'TYPE'
}
</call>
@@ -98,9 +98,9 @@
'command' : '%s/bin/keytool' % (LOCAL_JAVA_HOME),
'arguments' : '-genkey -alias %s -keyalg rsa \
-dname "cn=%s,O=Sun Microsystems,C=US" \
- -keystore "%s/%sCertificate" \
+ -keystore "%s/HttpCertificate" \
-storepass "changeit" -keypass "changeit" \
- -storetype JKS ' % (WC_TYPE, WC_TYPE, TMPDIR, WC_TYPE),
+ -storetype JKS ' % (WC_TYPE, WC_TYPE, TMPDIR),
'path' : '%s/bin' % (LOCAL_JAVA_HOME),
'expectedRC': 0
}
@@ -109,12 +109,12 @@
</if>
<!-- copying cert File over -->
<message>
- 'copying %s/%sCertificate to %s/%sCertificate' % (TMPDIR,WC_TYPE,wcPath,WC_TYPE)
+ 'copying %s/HttpCertificate to %s/HttpCertificate' % (TMPDIR,wcPath)
</message>
<call function="'copyFile'">
{ 'location' : STAXServiceMachine,
- 'srcfile' : '%s/%sCertificate' % (TMPDIR, WC_TYPE),
- 'destfile' : '%s/%sCertificate' % (wcPath, WC_TYPE),
+ 'srcfile' : '%s/HttpCertificate' % TMPDIR,
+ 'destfile' : '%s/HttpCertificate' % wcPath,
'remotehost' : mylocation
}
</call>
@@ -170,10 +170,10 @@
<Connector port="%s" protocole="HTTP/1.1" \
SSLEnabled="true" maxThreads="150" scheme="https" secure="true" \
clientAuth="false" sslProtocol="SSL" \
- keystoreFile="%s/%sCertificate" \
+ keystoreFile="%s/HttpCertificate" \
keyAlias="%s" \
keystorePass="changeit" />' % \
- (WC_SSL_PORT, wcPath, WC_TYPE, WC_TYPE)
+ (WC_SSL_PORT, wcPath, WC_TYPE)
content=sslConnectorRegEx.sub(SSL_CONNECTOR, content)
serverXmlOutput=open('%s/%s-apache-%s-%s_server.xml' % \
(local.temp,STAF_REMOTE_HOSTNAME,WC_TYPE,WC_VERSION),'w')
@@ -205,7 +205,7 @@
<script>
# create a glassfish batch command file
asadminCmds = ["delete-jvm-options -Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks",
- "create-jvm-options -Djavax.net.ssl.keyStore=%s/%sCertificate:-Djavax.net.ssl.keyStorePassword=changeit" % (wcPath,WC_TYPE),
+ "create-jvm-options -Djavax.net.ssl.keyStore=%s/HttpCertificate:-Djavax.net.ssl.keyStorePassword=changeit" % wcPath,
"delete-http-listener http-listener-1",
"delete-http-listener http-listener-2",
"create-http-listener -e --enabled=true --listenerport %s --listeneraddress %s --defaultvs server httpListener" % (WC_PORT, STAF_REMOTE_HOSTNAME),
@@ -386,7 +386,7 @@
]
print 'sunwebserver install statefile %s' % '\n'.join(stateFileList)
silentFilename = 'sunwebserver.statefile'
- silentFd = open(os.path.join(TMPDIR,silentFilename),'w')
+ silentFd = open(os.path.join(local.temp,silentFilename),'w')
silentFd.write('\n'.join(stateFileList))
silentFd.flush()
silentFd.close()
@@ -395,7 +395,7 @@
</script>
<call function="'copyFile'">
{ 'location' : STAXServiceMachine,
- 'srcfile' : '%s' % os.path.join(TMPDIR,silentFilename),
+ 'srcfile' : '%s' % os.path.join(local.temp,silentFilename),
'destfile' : '%s' % silentFilePath,
'remotehost' : STAF_REMOTE_HOSTNAME,
}
@@ -437,7 +437,7 @@
</if>
<!-- create a wadm passwordfile -->
<script>
- wadmPwdFilename = os.path.join(TMPDIR,'wadmPwd')
+ wadmPwdFilename = os.path.join(local.temp,'wadmPwd')
wadmPwdFile = open(wadmPwdFilename,'w')
wadmPwdFile.write('wadm_password=password\n')
wadmPwdFile.flush()
@@ -458,7 +458,7 @@
'--user=admin', '--password-file=%s' % wadmDestPwdFilename,
'--host=%s' % STAF_REMOTE_HOSTNAME,
'--config=%s' % STAF_REMOTE_HOSTNAME,
- '--keystore=%s/%sCertificate' % (wcPath,WC_TYPE),
+ '--keystore=%s/HttpCertificate' % wcPath,
'--key-password=changeit', '--keystore-password=changeit'])
</script>
<call function="'runCommand'">
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/staf/staf-controller.cfg b/opendj-sdk/opends/tests/staf-tests/shared/staf/staf-controller.cfg
index 1c4a643..d449ef0 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/staf/staf-controller.cfg
+++ b/opendj-sdk/opends/tests/staf-tests/shared/staf/staf-controller.cfg
@@ -80,5 +80,5 @@
OPTION JVMNAME=httpJVM-${local.hostname} \
OPTION J2=-Xms32m -Xmx128m \
-Djavax.net.ssl.trustStorePassword=changeit \
- -Djavax.net.ssl.trustStore=${temp.dir}/${wc.type}Certificate \
+ -Djavax.net.ssl.trustStore=${temp.dir}/HttpCertificate \
OPTION JVM=${local.javahome}/bin/java
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/tests/runTestJob.xml b/opendj-sdk/opends/tests/staf-tests/shared/tests/runTestJob.xml
index c19e496..fbff947 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/tests/runTestJob.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/tests/runTestJob.xml
@@ -182,8 +182,13 @@
ServerSystemName='unknown'
ServerRevision='unknown'
ServerPackage='%s/%s' % (ZIPPATH,ZIPNAME)
- ServerSNMPJarFile='%s' % SNMP_OPENDMK_JARFILE
-
+
+ # The jdmkrt.jar can be included in the OpenDS archive
+ if not PRODUCTNAME.startswith('OpenDS'):
+ ServerSNMPJarFile='addons/jdmkrt.jar'
+ else:
+ ServerSNMPJarFile='%s' % SNMP_OPENDMK_JARFILE
+
if ServersInfoDict.has_key(ServerPath):
ServerInfoDict=ServersInfoDict[ServerPath]
@@ -242,10 +247,16 @@
<message>'Server= %s' % ServerInfoDict </message>
- <!-- Build the DSML Gateway Information Dictionary -->
+ <!-- Build the DSML Gateway Dictionary -->
<script>
- DSMLName='%s' % DSML_WARNAME
- DSMLPackage='%s' % DSML_WARPATH
+ # The war file can be included in the OpenDS archive
+ if not PRODUCTNAME.startswith('OpenDS'):
+ DSMLName='DSML.war'
+ DSMLPackage='addons/DSML.war'
+ else:
+ DSMLName='%s' % DSML_WARNAME
+ DSMLPackage='%s' % DSML_WARPATH
+
DSMLContainer=WC_TYPE
</script>
@@ -267,7 +278,7 @@
'Unable to retrieve LogsDir variable, RC=%s,Result=%s.' % (RC,STAFResult)
</message>
<script>
- logsDir='%s' % TMPDIR
+ logsDir='%s' % local.temp
</script>
</sequence>
</else>
@@ -296,10 +307,10 @@
'No test groups have been run.'
</message>
</sequence>
- <else>
+ <else>
<sequence>
<iterate var="thisChild" in="listOfChildren">
- <sequence>
+ <sequence>
<stafcmd name="'STAF Command: Log Query All'">
<location>'%s' % STAF_LOCAL_HOSTNAME </location>
<service>'log'</service>
@@ -307,7 +318,7 @@
'QUERY ALL MACHINE %s LOGNAME STAX_Job_%s' % (STAXServiceMachine,thisChild)
</request>
</stafcmd>
-
+
<if expr="RC == 0">
<sequence>
<script>
@@ -317,12 +328,12 @@
'Log Query on STAX_Job_%s Completed. RC=%s' % (thisChild,RC)
</message>
<iterate var="line" in="resultQuery">
-
+
<script>
txtfh.write('%s\n' % line)
</script>
-
- </iterate>
+
+ </iterate>
</sequence>
<else>
<sequence>
@@ -333,7 +344,7 @@
</sequence>
</else>
</if>
-
+
</sequence>
</iterate>
</sequence>
@@ -466,6 +477,8 @@
finally:
txtfh.close()
+ # Delete results.txt file
+ os.remove(textfile)
except IOError:
errorfh.write('Error: Unable to open %s. Reason IOError.' % textfile )
@@ -473,7 +486,27 @@
</script>
<message>'Starting to create results XML file.'</message>
-
+
+ <!-- Check if 'remote.temp/coverage' exists -->
+ <call function="'GetEntry'">
+ {
+ 'location' : STAF_LOCAL_HOSTNAME ,
+ 'entry' : '%s/coverage' % logsDir ,
+ 'attribute' : 'TYPE'
+ }
+ </call>
+ <if expr="RC != 48">
+ <!-- 'remote.temp/coverage' exists -->
+ <script>
+ coverageUrl = '%s/%s/coverage/coverage.html' % (logsURI,logsDir)
+ </script>
+ <else>
+ <script>
+ coverageUrl = ''
+ </script>
+ </else>
+ </if>
+
<script>
# Create the objects
localstaf =test_env.staf(STAF_LOCAL_HOSTNAME)
@@ -633,7 +666,8 @@
idElementList.append(['tests-dir',logsDir])
idElementList.append(['tests-url',logsURI])
idElementList.append(['mailto',SEND_MAIL_TO])
-
+ idElementList.append(['coverage-url',coverageUrl])
+
write_text_elements(id,idElementList)
idElementList=[]
@@ -751,27 +785,6 @@
'XML Report Written to %s.' % xmlfile
</message>
- <!-- Generate the standard test report showing all testcases -->
- <script>
- _message='Generated standard test report.'
- xslfile= '%s/gen-alltests-report.xsl' % TESTS_XSL_DIR
- htmlfile= '%s/results.html' % logsReportDir
-
- standardReport=report_generation()
-
- stringParamsDict={}
-
- try:
- standardReport.transformReport(xslfile,xmlfile,htmlfile,stringParamsDict)
- except java.io.FileNotFoundException,details:
- _message='Unable to generate standard test report %s.' % details
- except IOError,details:
- _message='Unable to generate standard test report %s.' % details
- except:
- _message='Unable to generate standard test report !!!'
- </script>
- <message>_message</message>
-
<!-- Generate the test report by test groups-->
<script>
_message='Generated groups test report.'
@@ -834,7 +847,7 @@
if os.path.isdir(groupDir):
import glob
- testSuiteFilesList=glob.glob('%s/*.xml' % groupDir)
+ testSuiteFilesList=glob.glob('%s/*-log.html' % groupDir)
xmlfile='%s/results.xml' % logsReportDir
xslfile= '%s/gen-tests-report.xsl' % TESTS_XSL_DIR
@@ -842,7 +855,7 @@
for testSuiteFile in testSuiteFilesList:
if os.path.isfile(testSuiteFile):
- testSuiteName=os.path.basename(testSuiteFile.replace('-log.xml',''))
+ testSuiteName=os.path.basename(testSuiteFile.replace('-log.html',''))
try:
testSuiteShortName=testSuiteName.split('.')[2]
except:
@@ -889,24 +902,6 @@
</script>
<message>_message</message>
- <!-- Generate the summary text file -->
- <script>
- _message='Generated the summary text report'
- mysummaryxsl='%s/gen-text-summary.xsl' % TESTS_XSL_DIR
- mysummarytext='%s/summary.txt' % logsReportDir
- mysummaryxml=xmlfile
-
- summaryReport=report_generation()
-
- stringParamsDict={}
-
- try:
- summaryReport.transformReport(mysummaryxsl,mysummaryxml,mysummarytext,stringParamsDict)
- except IOError,details:
- _message='Unable to generate summary text file %s.' % details
- </script>
- <message>_message</message>
-
<if expr="SEND_MAIL_AFTER_TEST_RUN == 'true'">
<sequence>
<message>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/tests/runTests.xml b/opendj-sdk/opends/tests/staf-tests/shared/tests/runTests.xml
index f86fb81..c90bdbe 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/tests/runTests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/tests/runTests.xml
@@ -44,27 +44,34 @@
returnMap['replication.eclmode'] = REPLICATION_ECL_MODE
my_path='%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)
- my_report='%s/results_tmp.xml' % logs.reports
+ my_report='%s/results2.xml' % logs.reports
my_info={}
my_info['jvm label']=TEST_JVM_STRING
my_info['os label']=TEST_OS_STRING
my_info['server package']='%s/%s' % (ZIPPATH,ZIPNAME)
- my_info['snmp jarfile']=SNMP_OPENDMK_JARFILE
+ # The jdmkrt.jar can be included in the OpenDS archive
+ if not PRODUCTNAME.startswith('OpenDS'):
+ my_info['snmp jarfile']='addons%s' % SNMP_OPENDMK_JARFILE
+ else:
+ my_info['snmp jarfile']=SNMP_OPENDMK_JARFILE
+
xml_create_report(PRODUCTNAME,TESTS_TYPE,my_path, \
DSInfo.ServerDict,my_info,local.directory,my_report)
- # Copy the content of result_tmp.xml to result2.xml
- # add an xml-stylesheet
+ # Copy the content of results2.xml file to results_tmp.xml
+ # And add an xml-stylesheet
testlogfh=open(my_report,'r')
lines=testlogfh.readlines()
- file=open('%s/results2.xml' % logs.reports,'w')
+ file=open('%s/results_tmp.xml' % logs.reports,'w')
file.write('%s' % lines[0])
file.write('<?xml-stylesheet type="text/xsl" href="gen-groups-report.xsl"?>\n')
for l in lines[1:]:
file.write('%s' % l)
file.close()
testlogfh.close()
+ # Delete results2.xml file
+ os.remove(my_report)
# Create the initial report.cfg file
# This file is used by the cgi script
@@ -80,14 +87,14 @@
reportCfg.write('hostname = %s\n' % STAF_REMOTE_HOSTNAME)
reportCfg.write('testcasesfail = 0\n')
reportCfg.write('testcasesdone = 0\n')
- reportCfg.write('testcasestotal = 2833\n')
+ reportCfg.write('testcasestotal = 2851\n')
reportCfg.write('starttime = %s\n' % starttime)
reportCfg.write('duration = 0\n')
reportCfg.write('dsconfigduration = 0\n')
reportCfg.write('percentage = 0\n')
reportCfg.write('allbugs = []\n')
reportCfg.write('os = %s\n' % TEST_OS_STRING)
- reportCfg.write('report = reports/results2.xml\n')
+ reportCfg.write('report = reports/results_tmp.xml\n')
reportCfg.write('istemporary = True\n')
reportCfg.close()
@@ -153,15 +160,19 @@
so far I could only get through this on either machines with a lot
of memory or small sets of tests
-->
- <script>
- emmaJar='%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
- </script>
- <if expr="os.path.exists(emmaJar)">
+ <!-- Check if 'remote.temp/coverage' exists -->
+ <call function="'GetEntry'">
+ {
+ 'location' : STAF_REMOTE_HOSTNAME ,
+ 'entry' : '%s/coverage' % remote.temp ,
+ 'attribute' : 'TYPE'
+ }
+ </call>
+ <if expr="RC != 48">
+ <!-- 'remote.temp/coverage' exists -->
<sequence>
<script>
- coverageFiles=''
- coveragePath=os.path.join(LOGS_ROOT,'coverage')
- srcPathPrefix = os.path.join(TMPDIR,"..","..","..","..","..","..","src")
+ srcPathPrefix = os.path.join(TESTS_ROOT,"..","..","src")
srcPaths = [ os.path.join(srcPathPrefix,"server"),
os.path.join(srcPathPrefix,"ads"),
os.path.join(srcPathPrefix,"server","org"),
@@ -172,17 +183,31 @@
os.path.join(srcPathPrefix,"messages","src","org")
]
srcArgs = " -sp ".join(srcPaths)
- for group in os.listdir(coveragePath):
- coverageGroupPath=os.path.join(coveragePath,group)
- coverageECs=[os.path.join(coverageGroupPath,ec) for ec in os.listdir(coverageGroupPath) if ec.startswith('coverage') and ec.endswith('.ec')]
- coverageFiles=','.join(coverageECs)
+
+ resultsCoveragePath=os.path.join(LOGS_ROOT,'coverage')
+ remoteCoveragePath=os.path.join(remote.temp,'coverage')
</script>
+
+ <call function="'listFolderByExtension'" >
+ {
+ 'location' : STAF_REMOTE_HOSTNAME,
+ 'foldername' : remoteCoveragePath,
+ 'extension' : 'ec'
+ }
+ </call>
+
+ <script>
+ coverageFiles=','.join(STAXResult)
+ emmaJar=os.path.join(TESTS_ROOT,"..","..","ext","emma","lib","emma.jar")
+ </script>
+
<call function="'runCommand'">
- { 'name' : 'Generate global coverage xml report',
- 'command' : 'java',
- 'arguments' : '-Xms64M -Xmx2048m -cp %s emma report -r xml,html -in %s/%s/coverage.em,%s -Dreport.xml.out.file=%s/coverage.xml -Dreport.html.out.file=%s/coverage.html -sp %s' % (emmaJar,DIRECTORY_INSTANCE_DIR,OPENDSNAME,coverageFiles,coveragePath,coveragePath,srcArgs),
- 'path' : TMPDIR
- }
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'name' : 'Generate global coverage xml report',
+ 'command' : 'java',
+ 'arguments' : '-Xms64M -Xmx2048m -cp %s emma report -r txt,html -in %s/coverage.em,%s -Dreport.txt.out.file=%s/coverage.txt -Dreport.html.out.file=%s/coverage.html -sp %s' % (emmaJar,remoteCoveragePath,coverageFiles,resultsCoveragePath,resultsCoveragePath,srcArgs),
+ 'path' : remoteCoveragePath
+ }
</call>
</sequence>
</if>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet.xml b/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet.xml
deleted file mode 100644
index 5ae0c51..0000000
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet.xml
+++ /dev/null
@@ -1,317 +0,0 @@
-<?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:template match="/">
-
- <xsl:element name="html">
-
- <xsl:element name="body">
-
- <xsl:variable name="spec" select="/group/@name"/>
-
- <xsl:variable name="testgroup" select="document(concat('../docs/tests/specs/',$spec,'/',$spec,'.xml'))/qa/product/testgroup"/>
-
- <xsl:for-each select="$testgroup">
-
- <xsl:element name="title">
- <xsl:value-of select="@name"/>
- <xsl:value-of select="' Test Specification'"/>
- </xsl:element>
-
- <xsl:element name="h2">
- <xsl:attribute name="align">center</xsl:attribute>
- <xsl:value-of select="@name"/>
- <xsl:value-of select="' Test Specification'"/>
- </xsl:element>
-
- <!-- Test Group Table -->
- <xsl:element name="table">
-
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">yellow</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Group'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="groupname"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="grouppurpose"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
-
- <xsl:element name="br"/>
-
- <!-- Test Suite List -->
- <xsl:element name="ol">
- <xsl:for-each select="testsuite">
- <xsl:element name="li">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#',@name)"/>
- </xsl:attribute>
- <xsl:value-of select="@name"/>
- </xsl:element>
- <xsl:value-of select="concat(' : ',purpose)"/>
- </xsl:element>
- </xsl:for-each>
- </xsl:element>
-
- <xsl:for-each select="testsuite">
-
- <!-- Test Suite Header -->
- <xsl:element name="h2">
- <xsl:value-of select="@name"/>
- </xsl:element>
-
- <!-- Test Suite Anchor -->
- <xsl:element name="a">
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- </xsl:element>
-
- <!-- Test Suite Table -->
- <xsl:element name="table">
-
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">aqua</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Suite Name'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="@name"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="purpose"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Suite Group'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="group"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:element name="br"/>
-
- <xsl:for-each select="testcase">
-
- <!-- Test Case Table -->
- <xsl:element name="table">
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <!-- Test Name -->
- <xsl:element name="a">
- <xsl:attribute name="name">
- <xsl:value-of select="testid"/>
- </xsl:attribute>
- </xsl:element>
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">lightblue</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="a">
- <xsl:attribute name="width">20%</xsl:attribute>
- </xsl:element>
- <xsl:element name="b">
- <xsl:value-of select="'Test Name'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="@name"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Purpose -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="purpose"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Script -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Script'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('https://opends.dev.java.net/source/browse/opends/trunk/opends/tests/functional-tests/testcases/',$spec,'/',testscript)"/>
- </xsl:attribute>
- <xsl:value-of select="testscript"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Issue -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Issue'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('https://opends.dev.java.net/issues/show_bug.cgi?id=',testissue)"/>
- </xsl:attribute>
- <xsl:value-of select="testissue"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Preamble -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Preamble'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="preamble"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Steps -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Steps'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:for-each select="steps/step">
- <xsl:value-of select="."/>
- <xsl:element name="br"/>
- </xsl:for-each>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Postamble -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Postamble'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="postamble"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Result -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Result'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="result"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:element name="br"/>
-
- </xsl:for-each>
-
- </xsl:for-each>
-
- </xsl:for-each>
-
-
- </xsl:element>
-
- </xsl:element>
-
-
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet_security.xml b/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet_security.xml
deleted file mode 100644
index 5224af0..0000000
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/functestspec-stylesheet_security.xml
+++ /dev/null
@@ -1,329 +0,0 @@
-<?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:template match="/">
-
- <xsl:element name="html">
-
- <xsl:element name="body">
-
- <xsl:variable name="spec" select="/group/@name"/>
-
- <xsl:variable name="testgroup" select="document(concat('../docs/tests/specs/security/',$spec,'/',$spec,'.xml'))/qa/product/testgroup"/>
-
- <xsl:for-each select="$testgroup">
-
- <xsl:element name="title">
- <xsl:value-of select="@name"/>
- <xsl:value-of select="' Test Specification'"/>
- </xsl:element>
-
- <xsl:element name="h2">
- <xsl:attribute name="align">center</xsl:attribute>
- <xsl:value-of select="@name"/>
- <xsl:value-of select="' Test Specification'"/>
- </xsl:element>
-
- <!-- Test Group Table -->
- <xsl:element name="table">
-
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">yellow</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Group'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="groupname"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Group Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="grouppurpose"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Subgroup'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="subgroupname"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:element name="br"/>
-
- <!-- Test Suite List -->
- <xsl:element name="ol">
- <xsl:for-each select="testsuite">
- <xsl:element name="li">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#',@name)"/>
- </xsl:attribute>
- <xsl:value-of select="@name"/>
- </xsl:element>
- <xsl:value-of select="concat(' : ',purpose)"/>
- </xsl:element>
- </xsl:for-each>
- </xsl:element>
-
- <xsl:for-each select="testsuite">
-
- <!-- Test Suite Header -->
- <xsl:element name="h2">
- <xsl:value-of select="@name"/>
- </xsl:element>
-
- <!-- Test Suite Anchor -->
- <xsl:element name="a">
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- </xsl:element>
-
- <!-- Test Suite Table -->
- <xsl:element name="table">
-
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">aqua</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Suite Name'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="@name"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="purpose"/>
- </xsl:element>
- </xsl:element>
-
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Suite Group'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="group"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:element name="br"/>
-
- <xsl:for-each select="testcase">
-
- <!-- Test Case Table -->
- <xsl:element name="table">
- <xsl:attribute name="border">1</xsl:attribute>
- <xsl:attribute name="width">80%</xsl:attribute>
-
- <!-- Test Name -->
- <xsl:element name="a">
- <xsl:attribute name="name">
- <xsl:value-of select="testid"/>
- </xsl:attribute>
- </xsl:element>
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">lightblue</xsl:attribute>
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="a">
- <xsl:attribute name="width">20%</xsl:attribute>
- </xsl:element>
- <xsl:element name="b">
- <xsl:value-of select="'Test Name'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="@name"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Purpose -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Purpose'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="purpose"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Script -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Script'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('https://opends.dev.java.net/source/browse/opends/trunk/opends/tests/functional-tests/testcases/security/',$spec,'/',testscript)"/>
- </xsl:attribute>
- <xsl:value-of select="testscript"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Issue -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Issue'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('https://opends.dev.java.net/issues/show_bug.cgi?id=',testissue)"/>
- </xsl:attribute>
- <xsl:value-of select="testissue"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Preamble -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Preamble'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="preamble"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Steps -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Steps'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:for-each select="steps/step">
- <xsl:value-of select="."/>
- <xsl:element name="br"/>
- </xsl:for-each>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Postamble -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Postamble'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="postamble"/>
- </xsl:element>
- </xsl:element>
-
- <!-- Test Result -->
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="width">20%</xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Test Result'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:value-of select="result"/>
- </xsl:element>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:element name="br"/>
-
- </xsl:for-each>
-
- </xsl:for-each>
-
- </xsl:for-each>
-
-
- </xsl:element>
-
- </xsl:element>
-
-
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-alltests-report.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-alltests-report.xsl
deleted file mode 100644
index cce8011..0000000
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-alltests-report.xsl
+++ /dev/null
@@ -1,489 +0,0 @@
-<?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 2006-2009 Sun Microsystems, Inc.
- ! -->
-
-<xsl:template match="/">
- <xsl:apply-templates select="qa"/>
-</xsl:template>
-
-<xsl:template match="qa">
- <xsl:apply-templates select="stress-tests"/>
- <xsl:apply-templates select="functional-tests"/>
-</xsl:template>
-
-<xsl:template match="stress-tests">
- <xsl:call-template name="main">
- <xsl:with-param name="tests-type" select="normalize-space('Stress Tests')"/>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="functional-tests">
- <xsl:call-template name="main">
- <xsl:with-param name="tests-type" select="normalize-space('Functional Tests')"/>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="main">
- <xsl:param name="tests-type"/>
-
- <!--- Test Report Header Variables -->
- <xsl:variable name="id" select="identification"/>
- <xsl:variable name="sut" select="$id/sut"/>
- <xsl:variable name="url" select="normalize-space($id/tests-url)"/>
- <xsl:variable name="tests-dir" select="normalize-space($id/tests-dir)"/>
- <xsl:variable name="productname" select="normalize-space($sut/name)"/>
- <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="results/testgroup/testsuite/testcase"/>
- <xsl:variable name="total-tests" select="count($testcase)"/>
- <xsl:variable name="pass-tests" select="count($testcase[@result='pass'])"/>
- <xsl:variable name="fail-tests" select="count($testcase[@result='fail'])"/>
- <xsl:variable name="inconc-tests" select="count($testcase[@result='unknown'])"/>
-
- <xsl:element name="html">
-
- <xsl:element name="head">
-
- <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="./opends.css" type="text/css" />
-
- <xsl:element name="title">
- <xsl:value-of select="concat('Test Report for ',$productname,' ',$version)"/>
- </xsl:element>
-
- </xsl:element>
-
- <table class="tertmasttable" width="100%" cellspacing="0">
- <tbody>
- <tr>
- <td align="center"><div class="collectionheader"><xsl:value-of select="$tests-type"/></div></td>
- </tr>
- </tbody>
- </table>
-
- <table class="tertmasttable" width="100%" cellspacing="0">
- <tbody>
- <tr>
- <td><div class="collectionheader"><xsl:value-of select="concat('Test Report for ',$productname,' ',$version)"/></div></td>
- <td width="10%"><a href="https://opends.dev.java.net/"><img src="./opends_logo_sm.png" alt="OpenDS Logo" width="104" height="33" border="0" align="middle" /></a> </td>
- </tr>
- </tbody>
- </table>
-
- <!-- Overall Test Percentage -->
- <xsl:variable name="percent-tests">
- <xsl:choose>
- <xsl:when test="$total-tests > 0">
- <xsl:value-of select="round((($pass-tests div $total-tests) * 100) - 0.5)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="0"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- 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>
-
- <!-- Percentage Result -->
- <xsl:element name="table">
- <xsl:attribute name="width">
- <xsl:value-of select="'100%'"/>
- </xsl:attribute>
- <xsl:attribute name="bgcolor">
- <xsl:choose>
- <xsl:when test="$percent-tests < 80">
- <xsl:value-of select="'red'" />
- </xsl:when>
- <xsl:when test="$percent-tests < 90">
- <xsl:value-of select="'yellow'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'lightgreen'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="font">
- <xsl:attribute name="size">
- <xsl:value-of select="'+2'"/>
- </xsl:attribute>
- <xsl:value-of select="concat($percent-tests,'%')"/>
- </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>
-
- <!-- Identification -->
- <xsl:element name="table">
- <xsl:attribute name="width">
- <xsl:value-of select="'100%'"/>
- </xsl:attribute>
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Build'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Revision'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Platform'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'JVM'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Total'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Pass'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Fail'"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="'Inconclusive'"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
- <xsl:element name="tr">
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$sut/buildid"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$sut/revision"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$sut/os-label"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$sut/jvm-label"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$total-tests"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$pass-tests"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$fail-tests"/>
- </xsl:element>
- </xsl:element>
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$inconc-tests"/>
- </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 name="body">
-
- <!-- Test Results Table -->
- <xsl:element name="table">
- <xsl:attribute name="width">
- <xsl:value-of select="'100%'"/>
- </xsl:attribute>
- <xsl:attribute name="border">
- <xsl:value-of select="1"/>
- </xsl:attribute>
- <xsl:attribute name="cellpadding">
- <xsl:value-of select="2"/>
- </xsl:attribute>
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">
- <xsl:value-of select="'lightblue'"/>
- </xsl:attribute>
-
- <xsl:element name="th">
- <xsl:value-of select="'Testcase'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'Start Time'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'End Time'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'Duration'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'Result'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'Test Logs'"/>
- </xsl:element>
- <xsl:element name="th">
- <xsl:value-of select="'Server Logs'"/>
- </xsl:element>
-
- </xsl:element>
-
- <xsl:for-each select="$testcase">
-
- <xsl:element name="tr">
- <xsl:attribute name="bgcolor">
- <xsl:choose>
- <xsl:when test="@result='fail'">
- <xsl:value-of select="'red'"/>
- </xsl:when>
- <xsl:when test="@result='unknown'">
- <xsl:value-of select="'yellow'"/>
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
-
- <!-- Test Name -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'left'"/>
- </xsl:attribute>
- <xsl:value-of select="@name"/>
- </xsl:element>
-
- <!-- Start Time -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="@start"/>
- </xsl:element>
-
- <!-- Stop Time -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="@stop"/>
- </xsl:element>
-
- <!-- Duration -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="@duration"/>
- </xsl:element>
-
- <!-- Result -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="@result"/>
- </xsl:element>
-
- <!-- Test Logs -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="'-'"/>
- </xsl:element>
-
- <!-- Server Logs -->
- <xsl:element name="td">
- <xsl:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:value-of select="'-'"/>
- </xsl:element>
-
- </xsl:element>
-
- </xsl:for-each>
-
- </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>
-
- <!-- Additional Information -->
- <xsl:element name="h2">
- <xsl:value-of select="'Additional Information'"/>
- </xsl:element>
-
- <xsl:variable name="tests-dir" select="$id/tests-dir"/>
-
- <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:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$tests-dir"/>
- </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/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-groups-report.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-groups-report.xsl
index 8f74a91..5f40848 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-groups-report.xsl
+++ b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-groups-report.xsl
@@ -60,6 +60,7 @@
<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($id/tests-url)"/>
+ <xsl:variable name="coverage-url" select="normalize-space($id/coverage-url)"/>
<xsl:variable name="productname" select="normalize-space($sut/name)"/>
<xsl:variable name="hostname" select="normalize-space($sut/hostname)"/>
<xsl:variable name="version" select="normalize-space($sut/version)"/>
@@ -598,6 +599,21 @@
<xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
+ <xsl:value-of select="'Coverage: '"/>
+ </xsl:element>
+ </xsl:element>
+ <xsl:element name="td">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="$coverage-url"/>
+ </xsl:attribute>
+ <xsl:value-of select="$coverage-url"/>
+ </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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-suites-report.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-suites-report.xsl
index e5bc6ce..5af58f9 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-suites-report.xsl
+++ b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-suites-report.xsl
@@ -63,6 +63,7 @@
<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($id/tests-url)"/>
+ <xsl:variable name="coverage-url" select="normalize-space($id/coverage-url)"/>
<xsl:variable name="productname" select="normalize-space($sut/name)"/>
<xsl:variable name="hostname" select="normalize-space($sut/hostname)"/>
<xsl:variable name="version" select="normalize-space($sut/version)"/>
@@ -592,6 +593,21 @@
<xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
+ <xsl:value-of select="'Coverage: '"/>
+ </xsl:element>
+ </xsl:element>
+ <xsl:element name="td">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="$coverage-url"/>
+ </xsl:attribute>
+ <xsl:value-of select="$coverage-url"/>
+ </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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-tests-report.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-tests-report.xsl
index 4efaf27..7a926ad 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-tests-report.xsl
+++ b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-tests-report.xsl
@@ -64,6 +64,7 @@
<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($id/tests-url)"/>
+ <xsl:variable name="coverage-url" select="normalize-space($id/coverage-url)"/>
<xsl:variable name="productname" select="normalize-space($sut/name)"/>
<xsl:variable name="hostname" select="normalize-space($sut/hostname)"/>
<xsl:variable name="version" select="normalize-space($sut/version)"/>
@@ -543,6 +544,21 @@
<xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
+ <xsl:value-of select="'Coverage: '"/>
+ </xsl:element>
+ </xsl:element>
+ <xsl:element name="td">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="$coverage-url"/>
+ </xsl:attribute>
+ <xsl:value-of select="$coverage-url"/>
+ </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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-text-summary.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-text-summary.xsl
deleted file mode 100644
index 1d1d20f..0000000
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/gen-text-summary.xsl
+++ /dev/null
@@ -1,93 +0,0 @@
-<?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 2007-2008 Sun Microsystems, Inc.
- ! -->
-
-<xsl:output method="text"/>
-
-<xsl:template match="/">
- <xsl:apply-templates select="qa"/>
-</xsl:template>
-
-<xsl:template match="qa">
- <xsl:apply-templates select="stress-tests"/>
- <xsl:apply-templates select="functional-tests"/>
-</xsl:template>
-
-<xsl:template match="stress-tests">
- <xsl:call-template name="main"/>
-</xsl:template>
-
-<xsl:template match="functional-tests">
- <xsl:call-template name="main"/>
-</xsl:template>
-
-<xsl:template name="main">
-
- <!-- Test Report Header -->
- <xsl:variable name="id" select="identification"/>
- <xsl:variable name="sut" select="$id/sut"/>
- <xsl:value-of select="concat('tests-dir: ', normalize-space($id/tests-dir),'
')"/>
-
- <!-- Test Case Totals -->
- <xsl:variable name="testcase" select="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'])"/>
- <xsl:variable name="inconc" select="count($testcase[@result='unknown'])"/>
-
- <!-- Overall Test Percentage -->
- <xsl:variable name="percent">
- <xsl:choose>
- <xsl:when test="$total > 0">
- <xsl:value-of select="round((($pass div $total) * 100) - 0.5)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="0"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:value-of select="concat('result: ', normalize-space($percent),'
')"/>
- <xsl:value-of select="concat('pass: ', normalize-space($pass),'
')"/>
- <xsl:value-of select="concat('fail: ', normalize-space($fail),'
')"/>
- <xsl:value-of select="concat('inconc: ', normalize-space($inconc),'
')"/>
- <xsl:value-of select="concat('total: ', normalize-space($total),'
')"/>
- <xsl:value-of select="concat('sut-version: ', normalize-space($sut/version),'
')"/>
- <xsl:value-of select="concat('sut-buildid: ', normalize-space($sut/buildid),'
')"/>
- <xsl:value-of select="concat('sut-revision: ', normalize-space($sut/revision),'
')"/>
- <xsl:value-of select="concat('os-hostname: ', normalize-space($sut/hostname),'
')"/>
- <xsl:value-of select="concat('os-platform: ', normalize-space($sut/platform),'
')"/>
- <xsl:value-of select="concat('os-label: ', normalize-space($sut/os-label),'
')"/>
- <xsl:value-of select="concat('jvm-version: ', normalize-space($sut/jvm-version),'
')"/>
- <xsl:value-of select="concat('jvm-label: ', normalize-space($sut/jvm-label),'
')"/>
- <xsl:value-of select="concat('jvm-vendor: ', normalize-space($sut/jvm-vendor),'
')"/>
- <xsl:value-of select="concat('jvm-arch: ', normalize-space($sut/jvm-arch),'
')"/>
-
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/id.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/id.xsl
index 5e278b2..80c66ec 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/id.xsl
+++ b/opendj-sdk/opends/tests/staf-tests/shared/xsl/id.xsl
@@ -60,6 +60,7 @@
<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="coverage-url" select="normalize-space($id/coverage-url)"/>
<xsl:variable name="productname" select="normalize-space($sut[@product='opends']/name)"/>
<xsl:variable name="version" select="normalize-space($sut[@product='opends']/version)"/>
@@ -749,6 +750,21 @@
<xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
+ <xsl:value-of select="'Coverage: '"/>
+ </xsl:element>
+ </xsl:element>
+ <xsl:element name="td">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="$coverage-url"/>
+ </xsl:attribute>
+ <xsl:value-of select="$coverage-url"/>
+ </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>
@@ -779,4 +795,4 @@
</xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/xsl/my-report.xsl b/opendj-sdk/opends/tests/staf-tests/shared/xsl/my-report.xsl
deleted file mode 100644
index 301d067..0000000
--- a/opendj-sdk/opends/tests/staf-tests/shared/xsl/my-report.xsl
+++ /dev/null
@@ -1,643 +0,0 @@
-<?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 2007-2008 Sun Microsystems, Inc.
- ! -->
-
- <xsl:variable name="tests" select="/qa/functional-tests/results/test"/>
- <xsl:variable name="groups" select="/qa/functional-tests/results/group"/>
- <xsl:template match="/">
- <!-- beginning of the html content output -->
- <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";
- ul.myCollapsible, ul.myCollapsible ul {
- margin: 0;
- padding: 0;
- list-style-type: none;
- /*font-family: verdana, arial, Helvetica, sans-serif;*/
- font-size: 10pt;
-
- width:100%; /* sets the size of the expandable blocks */
- /*border: 1px solid #000; /* puts a black border around the menu blocks */
- /*background-color: #8aa; /* makes the menu blocks mint green - a bg-color MUST be included for IE to work properly! */
- padding-left: 0px; /* stops the usual indent from ul */
- cursor: default; /* gives an arrow cursor */
- margin-left: 0px; /* Opera 7 final's margin and margin-box model cause problems */
- }
- ul.myCollapsible li {
- display: block;
- padding: 0px 0px;
- width: 100%;
- color: #000;
- background-color: #ffffff;
- text-decoration: none;
- list-style-type: none; /* removes the bullet points */
- margin: 0px; /* Opera 7 puts large spacings between li elements */
- position: relative; /* makes the menu blocks be positioned relative to their parent menu item
- the lack of offset makes these appear normal, but it will make a difference
- to the absolutely positioned child blocks */
- /*color: #fff; /* sets the default font colour to white */
- }
- ul.myCollapsible li > ul { /* using the > selector prevents many lesser browsers (and IE - see below) hiding child ULs */
- display: none; /* hides child menu blocks - one of the most important declarations */
- position: relative; /* make child blocks hover without leaving space for them */
- top: 0px; /* position slightly lower than the parent menu item */
- left: 15px; /* this must not be more than the width of the parent block, or the mouse will
- have to move off the element to move between blocks, and the menu will close */
- }
- ul.myCollapsible li:hover, ul.myCollapsible li.CSStoHighlight {
- color: #000; /* black */
- /*background-color: #f0f0f0;*/ /* light grey background */
- text-decoration: none;
- border-top: 1px solid #333; /* simulate the 3d effect */
- border-left: 1px solid #333; /* with border colors */
- border-bottom: 1px solid #fff;
- border-right: 1px solid #fff;
- }
- ul.myCollapsible ul.CSStoShow { /* must not be combined with the next rule or IE gets confused */
- display: block; /* specially to go with the className changes in the behaviour file */
- }
- ul.myCollapsible li:hover > ul { /* one of the most important declarations - the browser must detect hovering over arbitrary elements
- the > targets only the child ul, not any child uls of that child ul */
- display: block; /* makes the child block visible - one of the most important declarations */
- }
- /* and some link styles */
- ul.myCollapsible li a { color: #00a; display: block; width: 100%; text-decoration: underline; }
- ul.myCollapsible li a:hover, ul.myCollapsible li a.CSStoHighLink { color: #00f; }
- ul.myCollapsible li:hover > a { color: #e00; } /* supports links in branch headings - should not be display: block; */
- .perfect { background-color: #90ee90 }
- .acceptable { background-color: #fffc00 }
- .unacceptable { background-color: #ff0000 }
- .error { background-color: #ff0000 }
- .warning { background-color: #ffa200 }
- table.toc { background-color: #dfdfdf;
- cell-spacing: 3;
- border: 0;
- width: 100%
- }
- TD,TH { margin:0;
- line-height:100%;
- padding-left:0.5em;
- padding-right:0.5em;
- }
- table { border-spacing:0;
- border-collapse:collapse;
- border-width:1px;
- border-color: #ccc;
- border-style:solid
- }
- TH {font-family:verdana,arial,sans-serif;font-size:10pt;}
- td {font-family:courier,monospace;font-size:10pt;}
- A:link {color:#0000EE;text-decoration:none;}
- A:visited {color:#0000EE;text-decoration:none;}
- A:hover {color:#0000EE;text-decoration:underline;}
- /* ]]> */
- </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/sut/version"/>
- <xsl:element name="title">
- <xsl:value-of select="concat('Functional tests report for OpenDS-',$version)"/>
- </xsl:element>
- </xsl:element>
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
-
- <xsl:template match="results">
- <xsl:variable name="identification" select="/qa/functional-tests/identification"/>
- <xsl:variable name="total" select="count($tests)"/>
- <xsl:variable name="pass" select="count($tests[result='pass'])"/>
- <xsl:variable name="fail" select="count($tests[result='fail'])"/>
- <xsl:variable name="known" select="count($tests[result='known'])"/>
- <xsl:variable name="unknown" select="count($tests[result='inconclusive'])"/>
- <xsl:variable name="rate" select="round((($pass div $total) * 100) - 0.5)"/>
- <!--- Test Report Header Variables -->
- <table class="tertmasttable" width="100%" cellspacing="0">
- <tbody>
- <tr>
- <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>
- </table>
-
- <!-- Shaded Line -->
- <hr noshade="noshade" size="1" />
-
- <!-- Percentage Result -->
- <table width="100%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$rate < 80">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="$rate < 90">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <tr>
- <td align="center">
- <xsl:element name="font">
- <xsl:attribute name="size">
- <xsl:value-of select="'+2'"/>
- </xsl:attribute>
- <xsl:value-of select="concat($rate,'%')"/>
- </xsl:element>
- </td>
- </tr>
- </table>
-
- <!-- Shaded Line -->
- <hr noshade="noshade" size="1" />
-
- <!-- Identification table -->
- <p>
- <table width="100%">
- <tr>
- <th align="center">Build</th>
- <th align="center">Revision</th>
- <th align="center">Platform</th>
- <th align="center">JVM</th>
- <th align="center" width="5%">Total</th>
- <th align="center" width="5%">Pass</th>
- <th align="center" width="5%">Fail</th>
- <th align="center" width="5%">Known Issues</th>
- <th align="center" width="5%">Inconclusive</th>
- <th align="center" width="5%">Coverage</th>
- </tr>
- <tr>
- <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>
- <th align="center"><xsl:value-of select="$known"/></th>
- <th align="center"><xsl:value-of select="$unknown"/></th>
- <th align="center">
- <a>
- <!-- TODO: make this conditional -->
- <xsl:attribute name="href">
- <xsl:value-of select="'coverage/coverage.html'"/>
- </xsl:attribute>
- <xsl:value-of select="/qa/functional-tests/results/all/coverage"/>%
- </a>
- </th>
- </tr>
- </table>
- </p>
-
- <!-- table of contents -->
- <center><h2>Table of Contents</h2></center>
- <table width="100%">
- <tr>
- <td>Description</td>
- <td width="5%">Success Rate</td>
- <td width="5%">Pass</td>
- <td width="5%">Fail</td>
- <td width="5%">Known</td>
- <td width="5%">Inc.</td>
- <td width="5%">Cov.</td>
- </tr>
- </table>
- <ul class="myCollapsible">
- <xsl:for-each select="$tests">
- <xsl:sort select="group" order="ascending"/>
- <xsl:variable name="group" select="group"/>
- <xsl:if test="generate-id(.)=generate-id($tests[group=$group])">
- <xsl:variable name="group-total" select="count($tests[group=$group])"/>
- <xsl:variable name="group-pass" select="count($tests[group=$group][result='pass'])"/>
- <xsl:variable name="group-fail" select="count($tests[group=$group][result='fail'])"/>
- <xsl:variable name="group-known" select="count($tests[group=$group][result='known'])"/>
- <xsl:variable name="group-unknown" select="count($tests[group=$group][result='inconclusive'])"/>
- <xsl:variable name="group-rate" select="round((($group-pass div $group-total) * 100) - 0.5)"/>
- <li>
- <table class="toc">
- <tr>
- <!-- define the color for the whole table row according to success rate -->
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$group-rate < 80">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="$group-rate < 90">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#',$group)"/>
- </xsl:attribute>
- <xsl:value-of select="$group"/>
- </a>
- </td>
- <td width="5%"><xsl:value-of select="$group-rate"/>%</td>
- <td width="5%"><xsl:value-of select="$group-pass"/></td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$group-fail > 0">
- <xsl:value-of select="'error'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$group-fail"/>
- </td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$group-known > 0">
- <xsl:value-of select="'warning'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$group-known"/>
- </td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$group-unknown > 0">
- <xsl:value-of select="'warning'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$group-unknown"/>
- </td>
- <td width="5%">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat(concat('coverage/',$group),'/coverage.html')"/>
- </xsl:attribute>
- <xsl:value-of select="/qa/functional-tests/results/group[name='$group']/coverage"/>%
- </a>
- </td>
- </tr>
- </table>
- <ul>
- <xsl:for-each select="$tests[group=$group]">
- <xsl:variable name="suite" select="suite"/>
- <xsl:if test="generate-id(.)=generate-id($tests[group=$group][suite=$suite])">
- <xsl:variable name="suite-total" select="count($tests[group=$group][suite=$suite])"/>
- <xsl:variable name="suite-pass" select="count($tests[group=$group][suite=$suite][result='pass'])"/>
- <xsl:variable name="suite-fail" select="count($tests[group=$group][suite=$suite][result='fail'])"/>
- <xsl:variable name="suite-known" select="count($tests[group=$group][suite=$suite][result='known'])"/>
- <xsl:variable name="suite-unknown" select="count($tests[group=$group][suite=$suite][result='inconclusive'])"/>
- <xsl:variable name="suite-rate" select="round((($suite-pass div $suite-total) * 100) - 0.5)"/>
- <li>
- <table class="toc">
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$suite-rate < 80">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="$suite-rate < 90">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat(concat(concat('#',$group),'-'),$suite)"/>
- </xsl:attribute>
- <xsl:value-of select="$suite"/>
- </a>
- </td>
- <td width="5%">
- <xsl:value-of select="concat($suite-rate,'%')"/>
- </td>
- <td width="5%">
- <xsl:value-of select="$suite-pass"/>
- </td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$suite-fail > 0">
- <xsl:value-of select="'error'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$suite-fail"/>
- </td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$suite-known > 0">
- <xsl:value-of select="'warning'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$suite-known"/>
- </td>
- <td width="5%">
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$suite-unknown > 0">
- <xsl:value-of select="'warning'" />
- </xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:value-of select="$suite-unknown"/>
- </td>
- </tr>
- </table>
- <ul>
- <xsl:for-each select="$tests[group=$group][suite=$suite][result='fail' or result='inconclusive' or result='known']">
- <xsl:variable name="name" select="name"/>
- <li>
- <table>
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="result='fail'">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="result='known'">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat(concat(concat(concat(concat('#',$group),'-'),$suite),'-'),$name)"/>
- </xsl:attribute>
- <xsl:value-of select="name"/>
- </a>
- </td>
- <td width="10%">
- <xsl:for-each select="./issues">
- <xsl:variable name="issue" select="issue" />
- <a target="issue">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('https://opends.dev.java.net/issues/show_bug.cgi?id=',$issue)" />
- </xsl:attribute>
- <xsl:value-of select="$issue" />
- </a><br />
- </xsl:for-each>
- </td>
- </tr>
- </table>
- <ul>
- <li>Test Log<br />
- <ul>
- <li>
- <pre><xsl:value-of select="log" /></pre>
- </li>
- </ul>
- </li>
- <li>Server access Log<br />
- <ul>
- <li>
- <pre><xsl:value-of select="access" /></pre>
- </li>
- </ul>
- </li>
- <li>Server error Log<br />
- <ul>
- <li>
- <pre><xsl:value-of select="error" /></pre>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </xsl:for-each>
- </ul>
- </li>
- </xsl:if>
- </xsl:for-each>
- </ul>
- </li>
- </xsl:if>
- </xsl:for-each>
- </ul>
-
- <!-- this section generate each group's table report -->
- <xsl:for-each select="$tests">
- <xsl:sort select="start" order="ascending"/>
- <xsl:variable name="group" select="group"/>
- <xsl:if test="generate-id(.)=generate-id($tests[group=$group])">
- <xsl:variable name="group-total" select="count($tests[group=$group])"/>
- <xsl:variable name="group-pass" select="count($tests[group=$group][result='pass'])"/>
- <xsl:variable name="group-fail" select="count($tests[group=$group][result='fail'])"/>
- <xsl:variable name="group-known" select="count($tests[group=$group][result='known'])"/>
- <xsl:variable name="group-unknown" select="count($tests[group=$group][result='inconclusive'])"/>
- <xsl:variable name="group-rate" select="round((($group-pass div $group-total) * 100) - 0.5)"/>
- <xsl:variable name="group-coverage" select="coverage"/>
- <p>
- <table>
- <tr>
- <th>Group</th>
- <th width="5%">Success Rate</th>
- <th width="5%">Pass</th>
- <th width="5%">Fail</th>
- <th width="5%">Known</th>
- <th width="5%">Inc.</th>
- <th width="5%">Cov.</th>
- </tr>
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$group-rate < 80">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="$group-rate < 90">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td align="center">
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="group"/>
- </xsl:attribute>
- <xsl:value-of select="group"/>
- </a>
- </td>
- <td align="center"><xsl:value-of select="$group-rate"/>%</td>
- <td align="center"><xsl:value-of select="$group-pass"/></td>
- <td align="center"><xsl:value-of select="$group-fail"/></td>
- <td align="center"><xsl:value-of select="$group-known"/></td>
- <td align="center"><xsl:value-of select="$group-unknown"/></td>
- <td>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat(concat('coverage/',$group),'/coverage.html')"/>
- </xsl:attribute>
- <xsl:variable name="group-cov" select="/qa/functional-tests/group[name=$group]" />
- <xsl:value-of select="$group-cov/coverage"/>%
- </a>
- </td>
- </tr>
- <xsl:for-each select="$tests[group=$group]">
- <xsl:variable name="suite" select="suite"/>
- <xsl:if test="generate-id(.)=generate-id($tests[group=$group][suite=$suite])">
- <xsl:variable name="suite-total" select="count($tests[group=$group][suite=$suite])"/>
- <xsl:variable name="suite-pass" select="count($tests[group=$group][suite=$suite][result='pass'])"/>
- <xsl:variable name="suite-fail" select="count($tests[group=$group][suite=$suite][result='fail'])"/>
- <xsl:variable name="suite-known" select="count($tests[group=$group][suite=$suite][result='known'])"/>
- <xsl:variable name="suite-unknown" select="count($tests[group=$group][suite=$suite][result='inconclusive'])"/>
- <xsl:variable name="suite-rate" select="round((($suite-pass div $suite-total) * 100) - 0.5)"/>
- <tr>
- <td align="right" colspan="5">
- <table border="0" cellspacing="3" width="90%">
- <tr>
- <th>Group</th>
- <th width="40%">Suite</th>
- <th width="5%">Success rate</th>
- <th width="5%">Pass</th>
- <th width="5%">Fail</th>
- <th width="5%">Known</th>
- <th width="5%">Inc.</th>
- </tr>
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="$suite-rate < 80">
- <xsl:value-of select="'unacceptable'" />
- </xsl:when>
- <xsl:when test="$suite-rate < 90">
- <xsl:value-of select="'acceptable'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'perfect'" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td><xsl:value-of select="$group"/></td>
- <td>
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat(concat($group,'-'),$suite)"/>
- </xsl:attribute>
- <xsl:value-of select="$suite"/>
- </a>
- </td>
- <td><xsl:value-of select="$suite-rate"/>%</td>
- <td><xsl:value-of select="$suite-pass"/></td>
- <td><xsl:value-of select="$suite-fail"/></td>
- <td><xsl:value-of select="$suite-known"/></td>
- <td><xsl:value-of select="$suite-unknown"/></td>
- </tr>
- </table>
- <table border="0" cellspacing="3" width="80%">
- <tr>
- <th>Group</th>
- <th>Suite</th>
- <th>Test Case</th>
- <th width="5%">Duration</th>
- <th width="5%">Outcome</th>
- </tr>
- <xsl:for-each select="$tests[group=$group][suite=$suite]">
- <xsl:variable name="name" select="name"/>
- <tr>
- <td>
- <xsl:value-of select="group"/>
- </td>
- <td>
- <xsl:value-of select="suite"/>
- </td>
- <td>
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat(concat(concat(concat($group,'-'),$suite),'-'),$name)"/>
- </xsl:attribute>
- <xsl:value-of select="name"/>
- </a>
- </td>
- <td>
- <xsl:value-of select="duration"/>
- </td>
- <td>
- <xsl:value-of select="result"/>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </td>
- </tr>
- </xsl:if>
- </xsl:for-each>
- </table>
- </p>
- </xsl:if>
- </xsl:for-each>
-
- <!-- Additional Information -->
- <xsl:element name="h2">
- <xsl:value-of select="'Additional Information'"/>
- </xsl:element>
-
- <xsl:variable name="tests-dir" select="$identification/tests-dir"/>
-
- <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:attribute name="align">
- <xsl:value-of select="'center'"/>
- </xsl:attribute>
- <xsl:element name="b">
- <xsl:value-of select="$tests-dir"/>
- </xsl:element>
- </xsl:element>
- </xsl:element>
- </xsl:element>
- <xsl:element name="br"/>
-
- </xsl:template>
-</xsl:stylesheet>
--
Gitblit v1.10.0