albacore 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/.bundle/config +2 -0
  2. data/.travis.yml +1 -0
  3. data/Gemfile +4 -1
  4. data/lib/albacore/assemblyinfo.rb +2 -1
  5. data/lib/albacore/config/netversion.rb +11 -8
  6. data/lib/albacore/output.rb +17 -14
  7. data/lib/albacore/sqlcmd.rb +3 -1
  8. data/lib/albacore/xunittestrunner.rb +4 -0
  9. data/lib/version.rb +1 -1
  10. data/spec/assemblyinfo_spec.rb +9 -0
  11. data/spec/msbuild_spec.rb +287 -287
  12. data/spec/mstesttestrunner_spec.rb +144 -144
  13. data/spec/netversion_spec.rb +53 -0
  14. data/spec/nugetinstall_spec.rb +46 -46
  15. data/spec/output_spec.rb +30 -0
  16. data/spec/sqlcmd_spec.rb +1 -1
  17. data/spec/support/CodeCoverage/xunit/assemblies/xunit.xml +2604 -2604
  18. data/spec/support/TestSolution/LocalTestRun.testrunconfig +4 -4
  19. data/spec/support/TestSolution/TestSolution.FailingTests/TestSolution.FailingTests.csproj +94 -94
  20. data/spec/support/TestSolution/TestSolution.FluentMigrator/TestSolution.FluentMigrator.csproj +94 -94
  21. data/spec/support/TestSolution/TestSolution.MSTestTests.NET40/Properties/AssemblyInfo.cs +36 -36
  22. data/spec/support/TestSolution/TestSolution.MSTestTests.NET40/TestSolution.MSTestTests.NET40.csproj +52 -52
  23. data/spec/support/TestSolution/TestSolution.MSTestTests/TestSolution.MSTestTests.csproj +90 -90
  24. data/spec/support/TestSolution/TestSolution.MSpecTests/TestSolution.MSpecTests.csproj +103 -103
  25. data/spec/support/TestSolution/TestSolution.SpecFlow/TestSolution.SpecFlow.csproj +115 -115
  26. data/spec/support/TestSolution/TestSolution.Tests/TestSolution.Tests.csproj +100 -100
  27. data/spec/support/TestSolution/TestSolution.XUnitTests/TestSolution.XUnitTests.csproj +101 -101
  28. data/spec/support/TestSolution/TestSolution.sln +75 -75
  29. data/spec/support/TestSolution/TestSolution.vsmdi +5 -5
  30. data/spec/support/TestSolution/TestSolution/TestSolution.csproj +90 -90
  31. data/spec/support/Tools/MSTest-2010/MSTest.exe.config +31 -31
  32. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.dll.manifest +251 -251
  33. data/spec/support/Tools/MSTest-2010/Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.vsto +105 -105
  34. data/spec/support/Tools/Machine.Specifications-0.5.3/lib/Machine.Specifications.dll.tdnet +5 -5
  35. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/CommandLine.xml +504 -504
  36. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.4.1.bat +4 -4
  37. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.4.5.bat +4 -4
  38. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.0 - VS2008.bat +4 -4
  39. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.0 - VS2010.bat +4 -4
  40. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.1 - VS2008.bat +4 -4
  41. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.5.1 - VS2010.bat +4 -4
  42. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.0 - VS2008.bat +4 -4
  43. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.0 - VS2010.bat +4 -4
  44. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.1 - VS2008.bat +4 -4
  45. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallResharperRunner.6.1 - VS2010.bat +4 -4
  46. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallTDNetRunner.bat +16 -16
  47. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/InstallTDNetRunnerSilent.bat +16 -16
  48. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/License.txt +53 -53
  49. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.GallioAdapter.plugin +42 -42
  50. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/Machine.Specifications.dll.tdnet +5 -5
  51. data/spec/support/Tools/Machine.Specifications-0.5.3/tools/install.ps1 +5 -5
  52. data/spec/support/Tools/XUnit-v1.9/EULA.txt +28 -28
  53. data/spec/support/Tools/XUnit-v1.9/HTML.xslt +125 -125
  54. data/spec/support/Tools/XUnit-v1.9/NUnitXml.xslt +120 -120
  55. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.exe.config +20 -20
  56. data/spec/support/Tools/XUnit-v1.9/xunit.console.clr4.x86.exe.config +20 -20
  57. data/spec/support/Tools/XUnit-v1.9/xunit.console.exe.config +20 -20
  58. data/spec/support/Tools/XUnit-v1.9/xunit.console.x86.exe.config +20 -20
  59. data/spec/support/Tools/XUnit-v1.9/xunit.dll.tdnet +4 -4
  60. data/spec/support/Tools/XUnit-v1.9/xunit.extensions.xml +805 -805
  61. data/spec/support/Tools/XUnit-v1.9/xunit.runner.utility.xml +1212 -1212
  62. data/spec/support/Tools/XUnit-v1.9/xunit.xml +2604 -2604
  63. data/spec/support/assemblyinfotester.rb +1 -0
  64. data/spec/xunit_spec.rb +38 -0
  65. metadata +14 -7
@@ -1,126 +1,126 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
- <xsl:output method="html"/>
4
- <xsl:template match="/">
5
- <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]></xsl:text>
6
- <html>
7
- <head>
8
- <title>
9
- xUnit.net Test Results - <xsl:value-of select="@name"/>
10
- </title>
11
- <style type="text/css">
12
- body { font-family: Calibri, Verdana, Arial, sans-serif; background-color: White; color: Black; }
13
- h2,h3,h4,h5 { margin: 0; padding: 0; }
14
- h3 { font-weight: normal; }
15
- h5 { font-weight: normal; font-style: italic; margin-bottom: 0.75em; }
16
- pre { font-family: Consolas; font-size: 85%; margin: 0 0 0 1em; padding: 0; }
17
- .divided { border-top: solid 1px #f0f5fa; padding-top: 0.5em; }
18
- .row, .altrow { padding: 0.1em 0.3em; }
19
- .row { background-color: #f0f5fa; }
20
- .altrow { background-color: #e1ebf4; }
21
- .success, .failure, .skipped { font-family: Arial Unicode MS; font-weight: normal; float: left; width: 1em; display: block; }
22
- .success { color: #0c0; }
23
- .failure { color: #c00; }
24
- .skipped { color: #cc0; }
25
- .timing { float: right; }
26
- .indent { margin: 0.25em 0 0.5em 2em; }
27
- .clickable { cursor: pointer; }
28
- .testcount { font-size: 85%; }
29
- </style>
30
- <script language="javascript">
31
- function ToggleClass(id) {
32
- var elem = document.getElementById(id);
33
- if (elem.style.display == "none") {
34
- elem.style.display = "block";
35
- }
36
- else {
37
- elem.style.display = "none";
38
- }
39
- }
40
- </script>
41
- </head>
42
- <body>
43
- <h3 class="divided"><b>Assemblies Run</b></h3>
44
- <xsl:apply-templates select="//assembly"/>
45
-
46
- <h3 class="divided"><b>Summary</b></h3>
47
- <div>
48
- Tests run: <a href="#all"><b><xsl:value-of select="sum(//assembly/@total)"/></b></a> &#160;
49
- Failures: <a href="#failures"><b><xsl:value-of select="sum(//assembly/@failed)"/></b></a>,
50
- Skipped: <a href="#skipped"><b><xsl:value-of select="sum(//assembly/@skipped)"/></b></a>,
51
- Run time: <b><xsl:value-of select="sum(//assembly/@time)"/>s</b>
52
- </div>
53
- <xsl:if test="//assembly/class/test[@result='Fail']">
54
- <br />
55
- <h2><a name="failures"></a>Failed tests</h2>
56
- <xsl:apply-templates select="//assembly/class/test[@result='Fail']"><xsl:sort select="@name"/></xsl:apply-templates>
57
- </xsl:if>
58
- <xsl:if test="//assembly/class/failure">
59
- <br />
60
- <h2><a name="failures"></a>Failed fixtures</h2>
61
- <xsl:apply-templates select="//assembly/class/failure"><xsl:sort select="../@name"/></xsl:apply-templates>
62
- </xsl:if>
63
- <xsl:if test="//assembly/@skipped > 0">
64
- <br />
65
- <h2><a name="skipped"></a>Skipped tests</h2>
66
- <xsl:apply-templates select="//assembly/class/test[@result='Skip']"><xsl:sort select="@name"/></xsl:apply-templates>
67
- </xsl:if>
68
- <br />
69
- <h2><a name="all"></a>All tests</h2>
70
- <h5>Click test class name to expand/collapse test details</h5>
71
- <xsl:apply-templates select="//assembly/class"><xsl:sort select="@name"/></xsl:apply-templates>
72
- </body>
73
- </html>
74
- </xsl:template>
75
-
76
- <xsl:template match="assembly">
77
- <div><xsl:value-of select="@name"/></div>
78
- </xsl:template>
79
-
80
- <xsl:template match="test">
81
- <div>
82
- <xsl:attribute name="class"><xsl:if test="(position() mod 2 = 0)">alt</xsl:if>row</xsl:attribute>
83
- <xsl:if test="@result!='Skip'"><span class="timing"><xsl:value-of select="@time"/>s</span></xsl:if>
84
- <xsl:if test="@result='Skip'"><span class="timing">Skipped</span><span class="skipped">&#x2762;</span></xsl:if>
85
- <xsl:if test="@result='Fail'"><span class="failure">&#x2718;</span></xsl:if>
86
- <xsl:if test="@result='Pass'"><span class="success">&#x2714;</span></xsl:if>
87
- &#160;<xsl:value-of select="@name"/>
88
- <xsl:if test="child::node()/message"> : <xsl:value-of select="child::node()/message"/></xsl:if>
89
- <br clear="all" />
90
- <xsl:if test="failure/stack-trace">
91
- <pre><xsl:value-of select="failure/stack-trace"/></pre>
92
- </xsl:if>
93
- <xsl:if test="output">
94
- <h4>Output</h4>
95
- <pre><xsl:value-of select="output"/></pre>
96
- </xsl:if>
97
- </div>
98
- </xsl:template>
99
-
100
- <xsl:template match="failure">
101
- <span class="failure">&#x2718;</span> <xsl:value-of select="../@name"/> : <xsl:value-of select="message"/><br clear="all"/>
102
- Stack Trace:<br />
103
- <pre><xsl:value-of select="stack-trace"/></pre>
104
- </xsl:template>
105
-
106
- <xsl:template match="class">
107
- <h3>
108
- <span class="timing"><xsl:value-of select="@time"/>s</span>
109
- <span class="clickable">
110
- <xsl:attribute name="onclick">ToggleClass('class<xsl:value-of select="generate-id()"/>')</xsl:attribute>
111
- <xsl:attribute name="ondblclick">ToggleClass('class<xsl:value-of select="generate-id()"/>')</xsl:attribute>
112
- <xsl:if test="@failed > 0"><span class="failure">&#x2718;</span></xsl:if>
113
- <xsl:if test="@failed = 0"><span class="success">&#x2714;</span></xsl:if>
114
- &#160;<xsl:value-of select="@name"/>
115
- &#160;<span class="testcount">(<xsl:value-of select="@total"/>&#160;test<xsl:if test="@total > 1">s</xsl:if>)</span>
116
- </span>
117
- <br clear="all" />
118
- </h3>
119
- <div class="indent">
120
- <xsl:if test="@failed = 0"><xsl:attribute name="style">display: none;</xsl:attribute></xsl:if>
121
- <xsl:attribute name="id">class<xsl:value-of select="generate-id()"/></xsl:attribute>
122
- <xsl:apply-templates select="test"><xsl:sort select="@name"/></xsl:apply-templates>
123
- </div>
124
- </xsl:template>
125
-
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
+ <xsl:output method="html"/>
4
+ <xsl:template match="/">
5
+ <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]></xsl:text>
6
+ <html>
7
+ <head>
8
+ <title>
9
+ xUnit.net Test Results - <xsl:value-of select="@name"/>
10
+ </title>
11
+ <style type="text/css">
12
+ body { font-family: Calibri, Verdana, Arial, sans-serif; background-color: White; color: Black; }
13
+ h2,h3,h4,h5 { margin: 0; padding: 0; }
14
+ h3 { font-weight: normal; }
15
+ h5 { font-weight: normal; font-style: italic; margin-bottom: 0.75em; }
16
+ pre { font-family: Consolas; font-size: 85%; margin: 0 0 0 1em; padding: 0; }
17
+ .divided { border-top: solid 1px #f0f5fa; padding-top: 0.5em; }
18
+ .row, .altrow { padding: 0.1em 0.3em; }
19
+ .row { background-color: #f0f5fa; }
20
+ .altrow { background-color: #e1ebf4; }
21
+ .success, .failure, .skipped { font-family: Arial Unicode MS; font-weight: normal; float: left; width: 1em; display: block; }
22
+ .success { color: #0c0; }
23
+ .failure { color: #c00; }
24
+ .skipped { color: #cc0; }
25
+ .timing { float: right; }
26
+ .indent { margin: 0.25em 0 0.5em 2em; }
27
+ .clickable { cursor: pointer; }
28
+ .testcount { font-size: 85%; }
29
+ </style>
30
+ <script language="javascript">
31
+ function ToggleClass(id) {
32
+ var elem = document.getElementById(id);
33
+ if (elem.style.display == "none") {
34
+ elem.style.display = "block";
35
+ }
36
+ else {
37
+ elem.style.display = "none";
38
+ }
39
+ }
40
+ </script>
41
+ </head>
42
+ <body>
43
+ <h3 class="divided"><b>Assemblies Run</b></h3>
44
+ <xsl:apply-templates select="//assembly"/>
45
+
46
+ <h3 class="divided"><b>Summary</b></h3>
47
+ <div>
48
+ Tests run: <a href="#all"><b><xsl:value-of select="sum(//assembly/@total)"/></b></a> &#160;
49
+ Failures: <a href="#failures"><b><xsl:value-of select="sum(//assembly/@failed)"/></b></a>,
50
+ Skipped: <a href="#skipped"><b><xsl:value-of select="sum(//assembly/@skipped)"/></b></a>,
51
+ Run time: <b><xsl:value-of select="sum(//assembly/@time)"/>s</b>
52
+ </div>
53
+ <xsl:if test="//assembly/class/test[@result='Fail']">
54
+ <br />
55
+ <h2><a name="failures"></a>Failed tests</h2>
56
+ <xsl:apply-templates select="//assembly/class/test[@result='Fail']"><xsl:sort select="@name"/></xsl:apply-templates>
57
+ </xsl:if>
58
+ <xsl:if test="//assembly/class/failure">
59
+ <br />
60
+ <h2><a name="failures"></a>Failed fixtures</h2>
61
+ <xsl:apply-templates select="//assembly/class/failure"><xsl:sort select="../@name"/></xsl:apply-templates>
62
+ </xsl:if>
63
+ <xsl:if test="//assembly/@skipped > 0">
64
+ <br />
65
+ <h2><a name="skipped"></a>Skipped tests</h2>
66
+ <xsl:apply-templates select="//assembly/class/test[@result='Skip']"><xsl:sort select="@name"/></xsl:apply-templates>
67
+ </xsl:if>
68
+ <br />
69
+ <h2><a name="all"></a>All tests</h2>
70
+ <h5>Click test class name to expand/collapse test details</h5>
71
+ <xsl:apply-templates select="//assembly/class"><xsl:sort select="@name"/></xsl:apply-templates>
72
+ </body>
73
+ </html>
74
+ </xsl:template>
75
+
76
+ <xsl:template match="assembly">
77
+ <div><xsl:value-of select="@name"/></div>
78
+ </xsl:template>
79
+
80
+ <xsl:template match="test">
81
+ <div>
82
+ <xsl:attribute name="class"><xsl:if test="(position() mod 2 = 0)">alt</xsl:if>row</xsl:attribute>
83
+ <xsl:if test="@result!='Skip'"><span class="timing"><xsl:value-of select="@time"/>s</span></xsl:if>
84
+ <xsl:if test="@result='Skip'"><span class="timing">Skipped</span><span class="skipped">&#x2762;</span></xsl:if>
85
+ <xsl:if test="@result='Fail'"><span class="failure">&#x2718;</span></xsl:if>
86
+ <xsl:if test="@result='Pass'"><span class="success">&#x2714;</span></xsl:if>
87
+ &#160;<xsl:value-of select="@name"/>
88
+ <xsl:if test="child::node()/message"> : <xsl:value-of select="child::node()/message"/></xsl:if>
89
+ <br clear="all" />
90
+ <xsl:if test="failure/stack-trace">
91
+ <pre><xsl:value-of select="failure/stack-trace"/></pre>
92
+ </xsl:if>
93
+ <xsl:if test="output">
94
+ <h4>Output</h4>
95
+ <pre><xsl:value-of select="output"/></pre>
96
+ </xsl:if>
97
+ </div>
98
+ </xsl:template>
99
+
100
+ <xsl:template match="failure">
101
+ <span class="failure">&#x2718;</span> <xsl:value-of select="../@name"/> : <xsl:value-of select="message"/><br clear="all"/>
102
+ Stack Trace:<br />
103
+ <pre><xsl:value-of select="stack-trace"/></pre>
104
+ </xsl:template>
105
+
106
+ <xsl:template match="class">
107
+ <h3>
108
+ <span class="timing"><xsl:value-of select="@time"/>s</span>
109
+ <span class="clickable">
110
+ <xsl:attribute name="onclick">ToggleClass('class<xsl:value-of select="generate-id()"/>')</xsl:attribute>
111
+ <xsl:attribute name="ondblclick">ToggleClass('class<xsl:value-of select="generate-id()"/>')</xsl:attribute>
112
+ <xsl:if test="@failed > 0"><span class="failure">&#x2718;</span></xsl:if>
113
+ <xsl:if test="@failed = 0"><span class="success">&#x2714;</span></xsl:if>
114
+ &#160;<xsl:value-of select="@name"/>
115
+ &#160;<span class="testcount">(<xsl:value-of select="@total"/>&#160;test<xsl:if test="@total > 1">s</xsl:if>)</span>
116
+ </span>
117
+ <br clear="all" />
118
+ </h3>
119
+ <div class="indent">
120
+ <xsl:if test="@failed = 0"><xsl:attribute name="style">display: none;</xsl:attribute></xsl:if>
121
+ <xsl:attribute name="id">class<xsl:value-of select="generate-id()"/></xsl:attribute>
122
+ <xsl:apply-templates select="test"><xsl:sort select="@name"/></xsl:apply-templates>
123
+ </div>
124
+ </xsl:template>
125
+
126
126
  </xsl:stylesheet>
@@ -1,121 +1,121 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
- <xsl:output cdata-section-elements="message stack-trace"/>
4
-
5
- <xsl:template match="/">
6
- <xsl:apply-templates/>
7
- </xsl:template>
8
-
9
- <xsl:template match="assembly">
10
- <test-results>
11
- <xsl:attribute name="name">
12
- <xsl:value-of select="@name"/>
13
- </xsl:attribute>
14
- <xsl:attribute name="date">
15
- <xsl:value-of select="@run-date"/>
16
- </xsl:attribute>
17
- <xsl:attribute name="time">
18
- <xsl:value-of select="@run-time"/>
19
- </xsl:attribute>
20
- <xsl:attribute name="total">
21
- <xsl:value-of select="@total"/>
22
- </xsl:attribute>
23
- <xsl:attribute name="failures">
24
- <xsl:value-of select="@failed"/>
25
- </xsl:attribute>
26
- <xsl:attribute name="not-run">
27
- <xsl:value-of select="@skipped"/>
28
- </xsl:attribute>
29
- <test-suite>
30
- <xsl:attribute name="name">
31
- <xsl:value-of select="@name"/>
32
- </xsl:attribute>
33
- <xsl:attribute name="success">
34
- <xsl:if test="@failed > 0">False</xsl:if>
35
- <xsl:if test="@failed = 0">True</xsl:if>
36
- </xsl:attribute>
37
- <xsl:attribute name="time">
38
- <xsl:value-of select="@time"/>
39
- </xsl:attribute>
40
- <results>
41
- <xsl:apply-templates select="class"/>
42
- </results>
43
- </test-suite>
44
- </test-results>
45
- </xsl:template>
46
-
47
- <xsl:template match="class">
48
- <test-suite>
49
- <xsl:attribute name="name">
50
- <xsl:value-of select="@name"/>
51
- </xsl:attribute>
52
- <xsl:attribute name="success">
53
- <xsl:if test="@failed > 0">False</xsl:if>
54
- <xsl:if test="@failed = 0">True</xsl:if>
55
- </xsl:attribute>
56
- <xsl:attribute name="time">
57
- <xsl:value-of select="@time"/>
58
- </xsl:attribute>
59
- <xsl:if test="failure">
60
- <xsl:copy-of select="failure"/>
61
- </xsl:if>
62
- <xsl:if test="reason">
63
- <reason>
64
- <xsl:apply-templates select="reason"/>
65
- </reason>
66
- </xsl:if>
67
- <results>
68
- <xsl:apply-templates select="test"/>
69
- </results>
70
- </test-suite>
71
- </xsl:template>
72
-
73
- <xsl:template match="test">
74
- <test-case>
75
- <xsl:attribute name="name">
76
- <xsl:value-of select="@name"/>
77
- </xsl:attribute>
78
- <xsl:attribute name="executed">
79
- <xsl:if test="@result='Skip'">False</xsl:if>
80
- <xsl:if test="@result!='Skip'">True</xsl:if>
81
- </xsl:attribute>
82
- <xsl:if test="@result!='Skip'">
83
- <xsl:attribute name="success">
84
- <xsl:if test="@result='Fail'">False</xsl:if>
85
- <xsl:if test="@result='Pass'">True</xsl:if>
86
- </xsl:attribute>
87
- </xsl:if>
88
- <xsl:if test="@time">
89
- <xsl:attribute name="time">
90
- <xsl:value-of select="@time"/>
91
- </xsl:attribute>
92
- </xsl:if>
93
- <xsl:apply-templates select="traits"/>
94
- <xsl:apply-templates select="failure"/>
95
- </test-case>
96
- </xsl:template>
97
-
98
- <xsl:template match="traits">
99
- <properties>
100
- <xsl:apply-templates select="trait"/>
101
- </properties>
102
- </xsl:template>
103
-
104
- <xsl:template match="trait">
105
- <property>
106
- <xsl:attribute name="name">
107
- <xsl:value-of select="@name"/>
108
- </xsl:attribute>
109
- <xsl:attribute name="value">
110
- <xsl:value-of select="@value"/>
111
- </xsl:attribute>
112
- </property>
113
- </xsl:template>
114
-
115
- <xsl:template match="failure">
116
- <failure>
117
- <xsl:copy-of select="node()"/>
118
- </failure>
119
- </xsl:template>
120
-
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
+ <xsl:output cdata-section-elements="message stack-trace"/>
4
+
5
+ <xsl:template match="/">
6
+ <xsl:apply-templates/>
7
+ </xsl:template>
8
+
9
+ <xsl:template match="assembly">
10
+ <test-results>
11
+ <xsl:attribute name="name">
12
+ <xsl:value-of select="@name"/>
13
+ </xsl:attribute>
14
+ <xsl:attribute name="date">
15
+ <xsl:value-of select="@run-date"/>
16
+ </xsl:attribute>
17
+ <xsl:attribute name="time">
18
+ <xsl:value-of select="@run-time"/>
19
+ </xsl:attribute>
20
+ <xsl:attribute name="total">
21
+ <xsl:value-of select="@total"/>
22
+ </xsl:attribute>
23
+ <xsl:attribute name="failures">
24
+ <xsl:value-of select="@failed"/>
25
+ </xsl:attribute>
26
+ <xsl:attribute name="not-run">
27
+ <xsl:value-of select="@skipped"/>
28
+ </xsl:attribute>
29
+ <test-suite>
30
+ <xsl:attribute name="name">
31
+ <xsl:value-of select="@name"/>
32
+ </xsl:attribute>
33
+ <xsl:attribute name="success">
34
+ <xsl:if test="@failed > 0">False</xsl:if>
35
+ <xsl:if test="@failed = 0">True</xsl:if>
36
+ </xsl:attribute>
37
+ <xsl:attribute name="time">
38
+ <xsl:value-of select="@time"/>
39
+ </xsl:attribute>
40
+ <results>
41
+ <xsl:apply-templates select="class"/>
42
+ </results>
43
+ </test-suite>
44
+ </test-results>
45
+ </xsl:template>
46
+
47
+ <xsl:template match="class">
48
+ <test-suite>
49
+ <xsl:attribute name="name">
50
+ <xsl:value-of select="@name"/>
51
+ </xsl:attribute>
52
+ <xsl:attribute name="success">
53
+ <xsl:if test="@failed > 0">False</xsl:if>
54
+ <xsl:if test="@failed = 0">True</xsl:if>
55
+ </xsl:attribute>
56
+ <xsl:attribute name="time">
57
+ <xsl:value-of select="@time"/>
58
+ </xsl:attribute>
59
+ <xsl:if test="failure">
60
+ <xsl:copy-of select="failure"/>
61
+ </xsl:if>
62
+ <xsl:if test="reason">
63
+ <reason>
64
+ <xsl:apply-templates select="reason"/>
65
+ </reason>
66
+ </xsl:if>
67
+ <results>
68
+ <xsl:apply-templates select="test"/>
69
+ </results>
70
+ </test-suite>
71
+ </xsl:template>
72
+
73
+ <xsl:template match="test">
74
+ <test-case>
75
+ <xsl:attribute name="name">
76
+ <xsl:value-of select="@name"/>
77
+ </xsl:attribute>
78
+ <xsl:attribute name="executed">
79
+ <xsl:if test="@result='Skip'">False</xsl:if>
80
+ <xsl:if test="@result!='Skip'">True</xsl:if>
81
+ </xsl:attribute>
82
+ <xsl:if test="@result!='Skip'">
83
+ <xsl:attribute name="success">
84
+ <xsl:if test="@result='Fail'">False</xsl:if>
85
+ <xsl:if test="@result='Pass'">True</xsl:if>
86
+ </xsl:attribute>
87
+ </xsl:if>
88
+ <xsl:if test="@time">
89
+ <xsl:attribute name="time">
90
+ <xsl:value-of select="@time"/>
91
+ </xsl:attribute>
92
+ </xsl:if>
93
+ <xsl:apply-templates select="traits"/>
94
+ <xsl:apply-templates select="failure"/>
95
+ </test-case>
96
+ </xsl:template>
97
+
98
+ <xsl:template match="traits">
99
+ <properties>
100
+ <xsl:apply-templates select="trait"/>
101
+ </properties>
102
+ </xsl:template>
103
+
104
+ <xsl:template match="trait">
105
+ <property>
106
+ <xsl:attribute name="name">
107
+ <xsl:value-of select="@name"/>
108
+ </xsl:attribute>
109
+ <xsl:attribute name="value">
110
+ <xsl:value-of select="@value"/>
111
+ </xsl:attribute>
112
+ </property>
113
+ </xsl:template>
114
+
115
+ <xsl:template match="failure">
116
+ <failure>
117
+ <xsl:copy-of select="node()"/>
118
+ </failure>
119
+ </xsl:template>
120
+
121
121
  </xsl:stylesheet>