1 <xsl:stylesheet xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform" version=
"1.0">
2 <xsl:output method=
"xml" indent=
"yes"/>
3 <xsl:template match=
"/Site">
4 <xsl:variable name=
"Name"><xsl:value-of select=
"@Name"/></xsl:variable>
5 <xsl:variable name=
"Hostname"><xsl:value-of select=
"@Hostname"/></xsl:variable>
6 <xsl:variable name=
"TestCount"><xsl:value-of select=
"count(//TestList/Test)"/> </xsl:variable>
7 <xsl:variable name=
"ErrorCount"><xsl:value-of select=
"count(//TestList/Test[@Status='error'])"/> </xsl:variable>
8 <xsl:variable name=
"FailureCount"><xsl:value-of select=
"count(//Testing/Test[@Status='failed'])"/> </xsl:variable>
9 <testsuite name=
"{$Name}" hostname=
"{$Hostname}" errors=
"0" failures=
"{$FailureCount}" tests=
"{$TestCount}">
10 <xsl:variable name=
"BuildName"><xsl:value-of select=
"@BuildName"/></xsl:variable>
11 <xsl:variable name=
"BuildStamp"><xsl:value-of select=
"@BuildStamp"/></xsl:variable>
12 <xsl:variable name=
"Generator"><xsl:value-of select=
"@Generator"/></xsl:variable>
13 <xsl:variable name=
"CompilerName"><xsl:value-of select=
"@CompilerName"/></xsl:variable>
14 <xsl:variable name=
"OSName"><xsl:value-of select=
"@OSName"/></xsl:variable>
15 <xsl:variable name=
"OSRelease"><xsl:value-of select=
"@OSRelease"/></xsl:variable>
16 <xsl:variable name=
"OSVersion"><xsl:value-of select=
"@OSVersion"/></xsl:variable>
17 <xsl:variable name=
"OSPlatform"><xsl:value-of select=
"@OSPlatform"/></xsl:variable>
18 <xsl:variable name=
"Is64Bits"><xsl:value-of select=
"@Is64Bits"/></xsl:variable>
19 <xsl:variable name=
"VendorString"><xsl:value-of select=
"@VendorString"/></xsl:variable>
20 <xsl:variable name=
"VendorID"><xsl:value-of select=
"@VendorID"/></xsl:variable>
21 <xsl:variable name=
"FamilyID"><xsl:value-of select=
"@FamilyID"/></xsl:variable>
22 <xsl:variable name=
"ModelID"><xsl:value-of select=
"@ModelID"/></xsl:variable>
23 <xsl:variable name=
"ProcessorCacheSize"><xsl:value-of select=
"@ProcessorCacheSize"/></xsl:variable>
24 <xsl:variable name=
"NumberOfLogicalCPU"><xsl:value-of select=
"@NumberOfLogicalCPU"/></xsl:variable>
25 <xsl:variable name=
"NumberOfPhysicalCPU"><xsl:value-of select=
"@NumberOfPhysicalCPU"/></xsl:variable>
26 <xsl:variable name=
"TotalVirtualMemory"><xsl:value-of select=
"@TotalVirtualMemory"/></xsl:variable>
27 <xsl:variable name=
"TotalPhysicalMemory"><xsl:value-of select=
"@TotalPhysicalMemory"/></xsl:variable>
28 <xsl:variable name=
"LogicalProcessorsPerPhysical"><xsl:value-of select=
"@LogicalProcessorsPerPhysical"/></xsl:variable>
29 <xsl:variable name=
"ProcessorClockFrequency"><xsl:value-of select=
"@ProcessorClockFrequency"/></xsl:variable>
31 <property name=
"BuildName" value=
"{$BuildName}" />
32 <property name=
"BuildStamp" value=
"{$BuildStamp}" />
33 <property name=
"Name" value=
"{$Name}" />
34 <property name=
"Generator" value=
"{$Generator}" />
35 <property name=
"CompilerName" value=
"{$CompilerName}" />
36 <property name=
"OSName" value=
"{$OSName}" />
37 <property name=
"Hostname" value=
"{$Hostname}" />
38 <property name=
"OSRelease" value=
"{$OSRelease}" />
39 <property name=
"OSVersion" value=
"{$OSVersion}" />
40 <property name=
"OSPlatform" value=
"{$OSPlatform}" />
41 <property name=
"Is64Bits" value=
"{$Is64Bits}" />
42 <property name=
"VendorString" value=
"{$VendorString}" />
43 <property name=
"VendorID" value=
"{$VendorID}" />
44 <property name=
"FamilyID" value=
"{$FamilyID}" />
45 <property name=
"ModelID" value=
"{$ModelID}" />
46 <property name=
"ProcessorCacheSize" value=
"{$ProcessorCacheSize}" />
47 <property name=
"NumberOfLogicalCPU" value=
"{$NumberOfLogicalCPU}" />
48 <property name=
"NumberOfPhysicalCPU" value=
"{$NumberOfPhysicalCPU}" />
49 <property name=
"TotalVirtualMemory" value=
"{$TotalVirtualMemory}" />
50 <property name=
"TotalPhysicalMemory" value=
"{$TotalPhysicalMemory}" />
51 <property name=
"LogicalProcessorsPerPhysical" value=
"{$LogicalProcessorsPerPhysical}" />
52 <property name=
"ProcessorClockFrequency" value=
"{$ProcessorClockFrequency}" />
54 <xsl:apply-templates select=
"Testing/Test"/>
57 BuildName:
<xsl:value-of select=
"$BuildName" />
58 BuildStamp:
<xsl:value-of select=
"$BuildStamp" />
59 Name:
<xsl:value-of select=
"$Name" />
60 Generator:
<xsl:value-of select=
"$Generator" />
61 CompilerName:
<xsl:value-of select=
"$CompilerName" />
62 OSName:
<xsl:value-of select=
"$OSName" />
63 Hostname:
<xsl:value-of select=
"$Hostname" />
64 OSRelease:
<xsl:value-of select=
"$OSRelease" />
65 OSVersion:
<xsl:value-of select=
"$OSVersion" />
66 OSPlatform:
<xsl:value-of select=
"$OSPlatform" />
67 Is64Bits:
<xsl:value-of select=
"$Is64Bits" />
68 VendorString:
<xsl:value-of select=
"$VendorString" />
69 VendorID:
<xsl:value-of select=
"$VendorID" />
70 FamilyID:
<xsl:value-of select=
"$FamilyID" />
71 ModelID:
<xsl:value-of select=
"$ModelID" />
72 ProcessorCacheSize:
<xsl:value-of select=
"$ProcessorCacheSize" />
73 NumberOfLogicalCPU:
<xsl:value-of select=
"$NumberOfLogicalCPU" />
74 NumberOfPhysicalCPU:
<xsl:value-of select=
"$NumberOfPhysicalCPU" />
75 TotalVirtualMemory:
<xsl:value-of select=
"$TotalVirtualMemory" />
76 TotalPhysicalMemory:
<xsl:value-of select=
"$TotalPhysicalMemory" />
77 LogicalProcessorsPerPhysical:
<xsl:value-of select=
"$LogicalProcessorsPerPhysical" />
78 ProcessorClockFrequency:
<xsl:value-of select=
"$ProcessorClockFrequency" />
83 <xsl:template match=
"Testing/Test">
84 <xsl:variable name=
"testcasename"><xsl:value-of select=
"Name"/></xsl:variable>
85 <xsl:variable name=
"testclassname"><xsl:value-of select=
" concat('this', substring(Path,2))"/></xsl:variable>
86 <xsl:variable name=
"exectime">
87 <xsl:for-each select=
"Results/NamedMeasurement">
88 <xsl:if test=
"@name = 'Execution Time'">
89 <xsl:value-of select=
"."/>
94 <testcase name=
"{$testcasename}" classname=
"{$testclassname}" time=
"{$exectime}">
95 <xsl:if test=
"@Status = 'passed'">
97 <xsl:if test=
"@Status = 'failed'">
98 <xsl:variable name=
"failtype">
99 <xsl:for-each select=
"Results/NamedMeasurement">
100 <xsl:if test=
"@name = 'Exit Code'">
101 <xsl:value-of select=
"."/>
105 <xsl:variable name=
"failcode">
106 <xsl:for-each select=
"Results/NamedMeasurement">
107 <xsl:if test=
"@name = 'Exit Value'">
108 <xsl:value-of select=
"."/>
112 <failure message=
"{$failtype} ({$failcode})"><xsl:value-of select=
"Results/Measurement/Value/text()" /></failure>
114 <xsl:if test=
"@Status = 'notrun'">
115 <skipped><xsl:value-of select=
"Results/Measurement/Value/text()" /></skipped>