uppercutbuild 0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/NDepend.xml +251 -0
- data/lib/build.bat +32 -0
- data/lib/build/Castle.Core.dll +0 -0
- data/lib/build/Castle.DynamicProxy2.dll +0 -0
- data/lib/build/Castle.MicroKernel.dll +0 -0
- data/lib/build/Castle.Windsor.dll +0 -0
- data/lib/build/UppercuT.xml +5 -0
- data/lib/build/analyze.step +78 -0
- data/lib/build/analyzers/gallio.test.step +145 -0
- data/lib/build/analyzers/mbunit2.test.step +146 -0
- data/lib/build/analyzers/moma.step +143 -0
- data/lib/build/analyzers/ncover.step +186 -0
- data/lib/build/analyzers/ndepend.step +95 -0
- data/lib/build/analyzers/nitriq.step +116 -0
- data/lib/build/analyzers/nunit.test.step +172 -0
- data/lib/build/analyzers/test.step +99 -0
- data/lib/build/compile.step +178 -0
- data/lib/build/customize.bat +41 -0
- data/lib/build/customize.build +76 -0
- data/lib/build/customizers/item.template +50 -0
- data/lib/build/default.build +164 -0
- data/lib/build/deploymentBuilder.step +103 -0
- data/lib/build/environmentBuilder.step +119 -0
- data/lib/build/generateBuildInfo.step +106 -0
- data/lib/build/ilmerge.build +174 -0
- data/lib/build/open.build +103 -0
- data/lib/build/package.step +234 -0
- data/lib/build/policyChecks.step +81 -0
- data/lib/build/updateAssemblies.build +107 -0
- data/lib/build/uppercut.dll +0 -0
- data/lib/build/uppercut.tasks.dll +0 -0
- data/lib/build/versionBuilder.step +148 -0
- data/lib/build/versioners/git.step +106 -0
- data/lib/build/versioners/hg.step +106 -0
- data/lib/build/versioners/svn.step +112 -0
- data/lib/build/versioners/tfs.step +104 -0
- data/lib/build/zip.build +162 -0
- data/lib/deployment/scripts/database.deploy +37 -0
- data/lib/deployment/templates/AppDeployment.bat +9 -0
- data/lib/deployment/templates/DBDeployment.RESTORE.bat +9 -0
- data/lib/deployment/templates/DBDeployment.bat +9 -0
- data/lib/lib/MbUnit2/MbUnit.AddIn.dll +0 -0
- data/lib/lib/MbUnit2/MbUnit.Cons.exe +0 -0
- data/lib/lib/MbUnit2/MbUnit.Cons.exe.config +12 -0
- data/lib/lib/MbUnit2/MbUnit.Framework.2.0.dll +0 -0
- data/lib/lib/MbUnit2/MbUnit.Framework.XML +6929 -0
- data/lib/lib/MbUnit2/MbUnit.Framework.dll +0 -0
- data/lib/lib/MbUnit2/MbUnit.GUI.exe +0 -0
- data/lib/lib/MbUnit2/MbUnit.GUI.exe.config +14 -0
- data/lib/lib/MbUnit2/MbUnit.MSBuild.Tasks.dll +0 -0
- data/lib/lib/MbUnit2/NAnt.Core.dll +0 -0
- data/lib/lib/MbUnit2/NGraphviz.Helpers.dll +0 -0
- data/lib/lib/MbUnit2/NGraphviz.Layout.dll +0 -0
- data/lib/lib/MbUnit2/NGraphviz.dll +0 -0
- data/lib/lib/MbUnit2/QuickGraph.Algorithms.Graphviz.dll +0 -0
- data/lib/lib/MbUnit2/QuickGraph.Algorithms.dll +0 -0
- data/lib/lib/MbUnit2/QuickGraph.dll +0 -0
- data/lib/lib/MbUnit2/Refly.dll +0 -0
- data/lib/lib/MbUnit2/TestDriven.Framework.dll +0 -0
- data/lib/lib/MbUnit2/TestFu.XML +1932 -0
- data/lib/lib/MbUnit2/TestFu.dll +0 -0
- data/lib/lib/MbUnit2/XsdTidy.exe +0 -0
- data/lib/lib/MoMA/Definitions/2.4.0.1-defs.zip +0 -0
- data/lib/lib/MoMA/ICSharpCode.SharpZipLib.dll +0 -0
- data/lib/lib/MoMA/MoMA.Analyzer.dll +0 -0
- data/lib/lib/MoMA/MoMA.exe +0 -0
- data/lib/lib/MoMA/Mono.Cecil.dll +0 -0
- data/lib/lib/MoMA/Reports/Media/fail.png +0 -0
- data/lib/lib/MoMA/Reports/Media/minus.png +0 -0
- data/lib/lib/MoMA/Reports/Media/moma.css +117 -0
- data/lib/lib/MoMA/Reports/Media/moma.js +17 -0
- data/lib/lib/MoMA/Reports/Media/pass.png +0 -0
- data/lib/lib/MoMA/Reports/Media/plus.png +0 -0
- data/lib/lib/MoMA/Resources/button_ok.png +0 -0
- data/lib/lib/MoMA/Resources/dialog-warning.png +0 -0
- data/lib/lib/MoMA/Resources/dialogback.png +0 -0
- data/lib/lib/MoMA/Resources/list-add.png +0 -0
- data/lib/lib/MoMA/Resources/list-directory.png +0 -0
- data/lib/lib/MoMA/Resources/list-remove.png +0 -0
- data/lib/lib/MoMA/Resources/monoback.png +0 -0
- data/lib/lib/MoMA/Resources/spinner.gif +0 -0
- data/lib/lib/NAnt/CollectionGen.dll +0 -0
- data/lib/lib/NAnt/Interop.MsmMergeTypeLib.dll +0 -0
- data/lib/lib/NAnt/Interop.StarTeam.dll +0 -0
- data/lib/lib/NAnt/Interop.WindowsInstaller.dll +0 -0
- data/lib/lib/NAnt/MSITaskErrors.mst +0 -0
- data/lib/lib/NAnt/MSITaskTemplate.msi +0 -0
- data/lib/lib/NAnt/MSMTaskErrors.mst +0 -0
- data/lib/lib/NAnt/MSMTaskTemplate.msm +0 -0
- data/lib/lib/NAnt/MbUnit.Framework.dll +0 -0
- data/lib/lib/NAnt/MbUnit.Tasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.CompressionTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.Contrib.Tasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.Core.dll +0 -0
- data/lib/lib/NAnt/NAnt.DotNetTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.MSNetTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.NUnit.dll +0 -0
- data/lib/lib/NAnt/NAnt.NUnit1Tasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.NUnit2Tasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.SourceControlTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.VSNetTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.VisualCppTasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.Win32Tasks.dll +0 -0
- data/lib/lib/NAnt/NAnt.exe +0 -0
- data/lib/lib/NAnt/NAnt.exe.config +2126 -0
- data/lib/lib/NAnt/NCoverExplorer.NAntTasks.dll +0 -0
- data/lib/lib/NAnt/NDepend.Build.NAntTasks.dll +0 -0
- data/lib/lib/NAnt/NDoc.Documenter.NAnt.dll +0 -0
- data/lib/lib/NAnt/QuickGraph.Algorithms.dll +0 -0
- data/lib/lib/NAnt/QuickGraph.dll +0 -0
- data/lib/lib/NAnt/SLiNgshoT.Core.dll +0 -0
- data/lib/lib/NAnt/SLiNgshoT.exe +0 -0
- data/lib/lib/NAnt/SourceSafe.Interop.dll +0 -0
- data/lib/lib/NAnt/ThoughtWorks.CruiseControl.MSBuild.dll +0 -0
- data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.dll +0 -0
- data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.xml +36 -0
- data/lib/lib/NAnt/lib/common/1.1/nunit-console-runner.dll +0 -0
- data/lib/lib/NAnt/lib/common/1.1/nunit-console.exe +0 -0
- data/lib/lib/NAnt/lib/common/1.1/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/common/1.1/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/common/1.1/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/common/2.0/nunit-console-runner.dll +0 -0
- data/lib/lib/NAnt/lib/common/2.0/nunit-console.exe +0 -0
- data/lib/lib/NAnt/lib/common/2.0/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/common/2.0/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/common/2.0/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpCvsLib.Console.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpCvsLib.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpZipLib.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/common/neutral/NUnitCore.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/mono/1.0/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/mono/2.0/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/nunit-console-runner.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/nunit-console.exe +0 -0
- data/lib/lib/NAnt/lib/net/1.0/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.0/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/net/1.1/nunit.util.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/NDoc.Core.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/NDoc.Documenter.Msdn.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/NDoc.ExtendedUI.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/nunit.core.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/nunit.framework.dll +0 -0
- data/lib/lib/NAnt/lib/net/2.0/nunit.util.dll +0 -0
- data/lib/lib/NAnt/log4net.dll +0 -0
- data/lib/lib/NAnt/scvs.exe +0 -0
- data/lib/lib/NCover/ActiproEULA.html +287 -0
- data/lib/lib/NCover/ActiproSoftware.Shared.Net11.dll +0 -0
- data/lib/lib/NCover/ActiproSoftware.SyntaxEditor.Net11.dll +0 -0
- data/lib/lib/NCover/ActiproSoftware.WinUICore.Net11.dll +0 -0
- data/lib/lib/NCover/CommandBars.dll +0 -0
- data/lib/lib/NCover/ConsoleConfig.xsd +123 -0
- data/lib/lib/NCover/ConsoleExample.config +94 -0
- data/lib/lib/NCover/CoverLib.dll +0 -0
- data/lib/lib/NCover/Coverage.xsl +339 -0
- data/lib/lib/NCover/CoverageReport.xsl +468 -0
- data/lib/lib/NCover/ICSharpCode.TextEditor.dll +0 -0
- data/lib/lib/NCover/LicencePersonal.rtf +334 -0
- data/lib/lib/NCover/MSVCP80.dll +0 -0
- data/lib/lib/NCover/MSVCR80.dll +0 -0
- data/lib/lib/NCover/Microsoft.VC80.CRT.manifest +8 -0
- data/lib/lib/NCover/NCover.Console.exe +0 -0
- data/lib/lib/NCover/NCover.Console.exe.config +6 -0
- data/lib/lib/NCover/NCover.Framework.dll +0 -0
- data/lib/lib/NCover/NCoverExplorer.Console.exe +0 -0
- data/lib/lib/NCover/NCoverExplorer.Core.dll +0 -0
- data/lib/lib/NCover/NCoverExplorer.NCoverRunner.dll +0 -0
- data/lib/lib/NCover/NCoverExplorer.WinForms.dll +0 -0
- data/lib/lib/NCover/NCoverExplorer.exe +0 -0
- data/lib/lib/NCover/NCoverExplorer.exe.config +8 -0
- data/lib/lib/NCover/NCoverExplorerFAQ.html +303 -0
- data/lib/lib/NCover/NCoverExplorerReleaseNotes.html +874 -0
- data/lib/lib/NCover/NCoverFAQ.html +429 -0
- data/lib/lib/NCover/VC80CRT.MAN +15 -0
- data/lib/lib/NCover/license.txt +299 -0
- data/lib/lib/NUnit/NUnitTests.config +84 -0
- data/lib/lib/NUnit/NUnitTests.nunit +14 -0
- data/lib/lib/NUnit/agent.conf +4 -0
- data/lib/lib/NUnit/agent.log.conf +18 -0
- data/lib/lib/NUnit/framework/nunit.framework.dll +0 -0
- data/lib/lib/NUnit/framework/nunit.framework.xml +10113 -0
- data/lib/lib/NUnit/framework/nunit.mocks.dll +0 -0
- data/lib/lib/NUnit/framework/pnunit.framework.dll +0 -0
- data/lib/lib/NUnit/launcher.log.conf +18 -0
- data/lib/lib/NUnit/lib/Failure.png +0 -0
- data/lib/lib/NUnit/lib/Ignored.png +0 -0
- data/lib/lib/NUnit/lib/Inconclusive.png +0 -0
- data/lib/lib/NUnit/lib/Skipped.png +0 -0
- data/lib/lib/NUnit/lib/Success.png +0 -0
- data/lib/lib/NUnit/lib/fit.dll +0 -0
- data/lib/lib/NUnit/lib/log4net.dll +0 -0
- data/lib/lib/NUnit/lib/nunit-console-runner.dll +0 -0
- data/lib/lib/NUnit/lib/nunit-gui-runner.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.core.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.core.interfaces.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.fixtures.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.uiexception.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.uikit.dll +0 -0
- data/lib/lib/NUnit/lib/nunit.util.dll +0 -0
- data/lib/lib/NUnit/nunit-agent-x86.exe +0 -0
- data/lib/lib/NUnit/nunit-agent-x86.exe.config +76 -0
- data/lib/lib/NUnit/nunit-agent.exe +0 -0
- data/lib/lib/NUnit/nunit-agent.exe.config +76 -0
- data/lib/lib/NUnit/nunit-console-x86.exe +0 -0
- data/lib/lib/NUnit/nunit-console-x86.exe.config +76 -0
- data/lib/lib/NUnit/nunit-console.exe +0 -0
- data/lib/lib/NUnit/nunit-console.exe.config +76 -0
- data/lib/lib/NUnit/nunit-x86.exe +0 -0
- data/lib/lib/NUnit/nunit-x86.exe.config +91 -0
- data/lib/lib/NUnit/nunit.exe +0 -0
- data/lib/lib/NUnit/nunit.exe.config +91 -0
- data/lib/lib/NUnit/nunit.framework.dll +0 -0
- data/lib/lib/NUnit/pnunit-agent.exe +0 -0
- data/lib/lib/NUnit/pnunit-agent.exe.config +77 -0
- data/lib/lib/NUnit/pnunit-launcher.exe +0 -0
- data/lib/lib/NUnit/pnunit-launcher.exe.config +77 -0
- data/lib/lib/NUnit/pnunit.framework.dll +0 -0
- data/lib/lib/NUnit/pnunit.tests.dll +0 -0
- data/lib/lib/NUnit/runpnunit.bat +2 -0
- data/lib/lib/NUnit/test.conf +24 -0
- data/lib/lib/NUnit/tests/loadtest-assembly.dll +0 -0
- data/lib/lib/NUnit/tests/mock-assembly.dll +0 -0
- data/lib/lib/NUnit/tests/nonamespace-assembly.dll +0 -0
- data/lib/lib/NUnit/tests/nunit-console.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit-gui.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.core.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.fixtures.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.framework.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.framework.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.mocks.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.uiexception.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.uikit.tests.dll +0 -0
- data/lib/lib/NUnit/tests/nunit.util.tests.dll +0 -0
- data/lib/lib/NUnit/tests/test-assembly.dll +0 -0
- data/lib/lib/NUnit/tests/test-utilities.dll +0 -0
- data/lib/lib/NUnit/tests/timing-tests.dll +0 -0
- data/lib/open.bat +10 -0
- data/lib/settings/LOCAL.settings +29 -0
- data/lib/settings/SettingsFileReadMe.txt +2 -0
- data/lib/settings/UppercuT.config +73 -0
- data/lib/test.bat +38 -0
- data/lib/zip.bat +23 -0
- metadata +328 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
+
<!-- NCoverExplorer (c) 2007 Grant Drake. -->
|
|
3
|
+
<!-- Schema for configuration file to be passed to NCoverExplorer-Console.exe using /config: switch -->
|
|
4
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
|
5
|
+
<xs:element name="ConsoleSetting">
|
|
6
|
+
<xs:complexType>
|
|
7
|
+
<xs:sequence>
|
|
8
|
+
<!-- Title name to appear on the report (equivalent to /project:xx). Default is blank. -->
|
|
9
|
+
<xs:element name="ProjectName" type="xs:string" minOccurs="0" maxOccurs="1" />
|
|
10
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage levels. Default is 95% -->
|
|
11
|
+
<xs:element name="SatisfactoryCoverageThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
|
|
12
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage as #seqPts rather than %. Default is 0. -->
|
|
13
|
+
<xs:element name="SatisfactoryUnvisitedSequencePoints" type="xs:decimal" minOccurs="0" maxOccurs="1" />
|
|
14
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
|
|
15
|
+
<xs:element name="SatisfactoryFunctionThreshold" type="xs:decimal" minOccurs="0" maxOccurs="1" />
|
|
16
|
+
<!-- Filtering to be applied to the results. Use integer (starting from 0=None) or named value. Default is "None". -->
|
|
17
|
+
<xs:element name="TreeFilterStyle" minOccurs="0" maxOccurs="1">
|
|
18
|
+
<xs:simpleType>
|
|
19
|
+
<xs:restriction base="xs:string">
|
|
20
|
+
<xs:enumeration value="None" />
|
|
21
|
+
<xs:enumeration value="HideUnvisited" />
|
|
22
|
+
<xs:enumeration value="HideFullyCovered" />
|
|
23
|
+
<xs:enumeration value="HideThresholdCovered" />
|
|
24
|
+
</xs:restriction>
|
|
25
|
+
</xs:simpleType>
|
|
26
|
+
</xs:element>
|
|
27
|
+
<!-- Sorting to be applied to the results. Use integer (starting from 0=Name) or named value. Default is "Name". -->
|
|
28
|
+
<xs:element name="TreeSortStyle" minOccurs="0" maxOccurs="1">
|
|
29
|
+
<xs:simpleType>
|
|
30
|
+
<xs:restriction base="xs:string">
|
|
31
|
+
<xs:enumeration value="Name" />
|
|
32
|
+
<xs:enumeration value="ClassLine" />
|
|
33
|
+
<xs:enumeration value="CoveragePercentageAscending" />
|
|
34
|
+
<xs:enumeration value="CoveragePercentageDescending" />
|
|
35
|
+
<xs:enumeration value="UnvisitedSequencePointsAscending" />
|
|
36
|
+
<xs:enumeration value="UnvisitedSequencePointsDescending" />
|
|
37
|
+
<xs:enumeration value="VisitCountAscending" />
|
|
38
|
+
<xs:enumeration value="VisitCountDescending" />
|
|
39
|
+
<xs:enumeration value="FunctionCoverageAscending" />
|
|
40
|
+
<xs:enumeration value="FunctionCoverageDescending" />
|
|
41
|
+
</xs:restriction>
|
|
42
|
+
</xs:simpleType>
|
|
43
|
+
</xs:element>
|
|
44
|
+
<!-- Coverage exclusions to exclude specified assemblies, namespaces, classes and/or methods. -->
|
|
45
|
+
<xs:element name="CoverageExclusions" minOccurs="0" maxOccurs="1">
|
|
46
|
+
<xs:complexType>
|
|
47
|
+
<xs:sequence>
|
|
48
|
+
<xs:element ref="CoverageExclusion" maxOccurs="unbounded" />
|
|
49
|
+
</xs:sequence>
|
|
50
|
+
</xs:complexType>
|
|
51
|
+
</xs:element>
|
|
52
|
+
<!-- Module specific coverage thresholds if wanting more granular coverage tolerances. -->
|
|
53
|
+
<xs:element name="ModuleThresholds" minOccurs="0" maxOccurs="1">
|
|
54
|
+
<xs:complexType>
|
|
55
|
+
<xs:sequence>
|
|
56
|
+
<xs:element ref="ModuleThreshold" maxOccurs="unbounded" />
|
|
57
|
+
</xs:sequence>
|
|
58
|
+
</xs:complexType>
|
|
59
|
+
</xs:element>
|
|
60
|
+
<!-- Names of the coverage files to merge/report on. Wildcards can be used. -->
|
|
61
|
+
<xs:element name="CoverageFileNames" minOccurs="1" maxOccurs="1">
|
|
62
|
+
<xs:complexType>
|
|
63
|
+
<xs:sequence>
|
|
64
|
+
<xs:element name="CoverageFileName" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
|
|
65
|
+
</xs:sequence>
|
|
66
|
+
</xs:complexType>
|
|
67
|
+
</xs:element>
|
|
68
|
+
<!-- Report to be generated by running NCoverExplorer.Console. Default is "None". -->
|
|
69
|
+
<xs:element name="ReportType" minOccurs="0" maxOccurs="1">
|
|
70
|
+
<xs:simpleType>
|
|
71
|
+
<xs:restriction base="xs:string">
|
|
72
|
+
<xs:enumeration value="None" />
|
|
73
|
+
<xs:enumeration value="ModuleSummary" />
|
|
74
|
+
<xs:enumeration value="ModuleNamespaceSummary" />
|
|
75
|
+
<xs:enumeration value="ModuleClassSummary" />
|
|
76
|
+
<xs:enumeration value="ModuleClassFunctionSummary" />
|
|
77
|
+
</xs:restriction>
|
|
78
|
+
</xs:simpleType>
|
|
79
|
+
</xs:element>
|
|
80
|
+
<!-- File name for the output HTML report if wanting to generate one. -->
|
|
81
|
+
<xs:element name="HtmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
|
|
82
|
+
<!-- File name for the output XML report if wanting to generate one. -->
|
|
83
|
+
<xs:element name="XmlReportFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
|
|
84
|
+
<!-- File name for the output merged coverage.xml file if any resulting from merging the inputs. -->
|
|
85
|
+
<xs:element name="MergeFileName" type="xs:string" minOccurs="0" maxOccurs="1" />
|
|
86
|
+
<!-- Whether to show the excluded elements in the footer of the output report if being generated. Default is false. -->
|
|
87
|
+
<xs:element name="ShowExcludedFooter" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
88
|
+
<!-- Whether to return a failure exit code if any module is below the minimum coverage threshold. Default is false. -->
|
|
89
|
+
<xs:element name="FailIfBelowMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
90
|
+
<!-- Whether to return a failure exit code if total coverage is below the minimum coverage threshold. Default is false. -->
|
|
91
|
+
<xs:element name="FailIfBelowCombinedMinimum" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
92
|
+
<!-- For use with the FailIfXXX options - the minimum coverage threshold if not specifying at the module level. -->
|
|
93
|
+
<xs:element name="MinimumCoverage" type="xs:decimal" minOccurs="0" maxOccurs="1" />
|
|
94
|
+
<!-- Whether to suppress virtually all console output when running. Default is false. -->
|
|
95
|
+
<xs:element name="NoLog" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
96
|
+
</xs:sequence>
|
|
97
|
+
</xs:complexType>
|
|
98
|
+
</xs:element>
|
|
99
|
+
<xs:element name="CoverageExclusion">
|
|
100
|
+
<xs:complexType>
|
|
101
|
+
<xs:sequence>
|
|
102
|
+
<xs:element name="ExclusionType" minOccurs="1" maxOccurs="1">
|
|
103
|
+
<xs:simpleType>
|
|
104
|
+
<xs:restriction base="xs:string">
|
|
105
|
+
<xs:enumeration value="Assembly" />
|
|
106
|
+
<xs:enumeration value="Namespace" />
|
|
107
|
+
<xs:enumeration value="Class" />
|
|
108
|
+
<xs:enumeration value="Method" />
|
|
109
|
+
</xs:restriction>
|
|
110
|
+
</xs:simpleType>
|
|
111
|
+
</xs:element>
|
|
112
|
+
<xs:element name="Pattern" type="xs:string" minOccurs="1" maxOccurs="1" />
|
|
113
|
+
<xs:element name="IsRegex" type="xs:boolean" minOccurs="0" maxOccurs="1" />
|
|
114
|
+
</xs:sequence>
|
|
115
|
+
</xs:complexType>
|
|
116
|
+
</xs:element>
|
|
117
|
+
<xs:element name="ModuleThreshold">
|
|
118
|
+
<xs:complexType>
|
|
119
|
+
<xs:attribute name="ModuleName" use="required" type="xs:string" />
|
|
120
|
+
<xs:attribute name="SatisfactoryCoverage" use="required" type="xs:decimal" />
|
|
121
|
+
</xs:complexType>
|
|
122
|
+
</xs:element>
|
|
123
|
+
</xs:schema>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Example configuration file to be passed to NCoverExplorer-Console.exe using /config: switch -->
|
|
3
|
+
<!-- If not supplied, then the same defaults will be used as the NCoverExplorer GUI. -->
|
|
4
|
+
<ConsoleSetting xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
5
|
+
<!-- Name attribute is title to appear on the report (equivalent to /project:xx). Default is blank. -->
|
|
6
|
+
<ProjectName>Example.Project</ProjectName>
|
|
7
|
+
|
|
8
|
+
<!-- Names of the coverage files to merge/report on. Wildcards can be used. -->
|
|
9
|
+
<CoverageFileNames>
|
|
10
|
+
<CoverageFileName>*.Coverage.xml</CoverageFileName>
|
|
11
|
+
</CoverageFileNames>
|
|
12
|
+
|
|
13
|
+
<!-- Report to be generated by running NCoverExplorer.Console. Default is "None". Other possible values are:
|
|
14
|
+
"ModuleSummary", "ModuleNamespaceSummary",
|
|
15
|
+
"ModuleClassSummary", "ModuleClassFunctionSummary"
|
|
16
|
+
-->
|
|
17
|
+
<ReportType>ModuleClassSummary</ReportType>
|
|
18
|
+
<!-- Filename for the output html report if wanting to generate one. -->
|
|
19
|
+
<HtmlReportFileName>C:\MyCoverageReport.html</HtmlReportFileName>
|
|
20
|
+
<!-- Filename for the output xml report (for use by cc.net) if wanting to generate one. -->
|
|
21
|
+
<XmlReportFileName>C:\MyCoverageReport.xml</XmlReportFileName>
|
|
22
|
+
|
|
23
|
+
<!-- File name for the output merged coverage.xml file if any resulting from merging the inputs. -->
|
|
24
|
+
<!--<MergeFileName>C:\MyCoverageMerged.xml</MergeFileName>-->
|
|
25
|
+
|
|
26
|
+
<!-- Whether to show the excluded elements in the footer of the output report if being generated. Default is false. -->
|
|
27
|
+
<!--<ShowExcludedFooter>True</ShowExcludedFooter>-->
|
|
28
|
+
|
|
29
|
+
<!-- Whether to suppress virtually all console output when running. Default is false. -->
|
|
30
|
+
<!--<NoLog>True</NoLog>-->
|
|
31
|
+
|
|
32
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage levels. Default is 95% -->
|
|
33
|
+
<!--<SatisfactoryCoverageThreshold>95</SatisfactoryCoverageThreshold>-->
|
|
34
|
+
|
|
35
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable coverage as #seqPts rather than %. Default is 0. -->
|
|
36
|
+
<!--<SatisfactoryUnvisitedSequencePoints>2</SatisfactoryUnvisitedSequencePoints> -->
|
|
37
|
+
|
|
38
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
|
|
39
|
+
<!--<SatisfactoryFunctionThreshold>80</SatisfactoryFunctionThreshold> -->
|
|
40
|
+
|
|
41
|
+
<!-- Threshold for acceptance criteria for coverage reports detailing acceptable function coverage levels. Default is 80% -->
|
|
42
|
+
<!--<SatisfactoryFunctionThreshold>80</SatisfactoryFunctionThreshold> -->
|
|
43
|
+
|
|
44
|
+
<!-- Filtering to be applied to the results. Use integer or named value. Default is "None". Possible values:
|
|
45
|
+
"None" (0),
|
|
46
|
+
"HideUnvisited" (1),
|
|
47
|
+
"HideFullyCovered" (2),
|
|
48
|
+
"HideThresholdCovered" (3)
|
|
49
|
+
-->
|
|
50
|
+
<TreeFilterStyle>None</TreeFilterStyle>
|
|
51
|
+
|
|
52
|
+
<!-- Sorting to be applied to the results. Use integer or named value. Default is "Name". Possible values:
|
|
53
|
+
"Name" (0),
|
|
54
|
+
"ClassLine" (1),
|
|
55
|
+
"CoveragePercentageAscending" (2), "CoveragePercentageDescending" (3),
|
|
56
|
+
"UnvisitedSequencePointsAscending" (4), "UnvisitedSequencePointsDescending" (5),
|
|
57
|
+
"VisitCountAscending" (6), "VisitCountDescending" (7)
|
|
58
|
+
"FunctionCoverageAscending" (8), "FunctionCoverageDescending" (9),
|
|
59
|
+
-->
|
|
60
|
+
<TreeSortStyle>Name</TreeSortStyle>
|
|
61
|
+
|
|
62
|
+
<!-- Coverage exclusions to exclude specified assemblies, namespaces and/or classes. -->
|
|
63
|
+
<CoverageExclusions>
|
|
64
|
+
<CoverageExclusion>
|
|
65
|
+
<ExclusionType>Assembly</ExclusionType>
|
|
66
|
+
<!-- Valid values are [Assembly], [Namespace] and [Class]. -->
|
|
67
|
+
<Pattern>*.Tests</Pattern>
|
|
68
|
+
<IsRegex>false</IsRegex>
|
|
69
|
+
<!-- Only required with a value of "true" if you do have a regular expression based pattern -->
|
|
70
|
+
</CoverageExclusion>
|
|
71
|
+
<CoverageExclusion>
|
|
72
|
+
<ExclusionType>Namespace</ExclusionType>
|
|
73
|
+
<Pattern>*.My*</Pattern>
|
|
74
|
+
</CoverageExclusion>
|
|
75
|
+
</CoverageExclusions>
|
|
76
|
+
|
|
77
|
+
<!-- Module specific coverage thresholds if any, -->
|
|
78
|
+
<!--<ModuleThresholds>
|
|
79
|
+
<ModuleThreshold ModuleName="NCoverExplorer.Core.dll" SatisfactoryCoverage="30" />
|
|
80
|
+
</ModuleThresholds>-->
|
|
81
|
+
|
|
82
|
+
<!-- Whether to return a failure exit code if any module is below the minimum coverage threshold. Default is false. -->
|
|
83
|
+
<!--<FailIfBelowMinimum>True</FailIfBelowMinimum> -->
|
|
84
|
+
|
|
85
|
+
<!-- Whether to return a failure exit code if total coverage is below the minimum coverage threshold. Default is false. -->
|
|
86
|
+
<!--<FailIfBelowCombinedMinimum>True</FailIfBelowCombinedMinimum> -->
|
|
87
|
+
|
|
88
|
+
<!-- For use with the FailIfXXX options - the minimum coverage threshold if not specifying at the module level. -->
|
|
89
|
+
<!--<MinimumCoverage>True</MinimumCoverage> -->
|
|
90
|
+
|
|
91
|
+
<!-- Whether to suppress virtually all console output when running. Default is false. -->
|
|
92
|
+
<!--<NoLog>True</NoLog> -->
|
|
93
|
+
|
|
94
|
+
</ConsoleSetting>
|
|
Binary file
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
|
|
2
|
+
<!-- saved from url=(0022)http://www.ncover.org/ -->
|
|
3
|
+
<!-- created by Yves Lorphelin, largely inspired by the nunitsumary.xsl (see nantcontrib.sourceforge.net)-->
|
|
4
|
+
<xsl:template match="coverage">
|
|
5
|
+
<html>
|
|
6
|
+
<head>
|
|
7
|
+
<title>NCover Code Coverage Report</title>
|
|
8
|
+
<style>
|
|
9
|
+
BODY {
|
|
10
|
+
font: small verdana, arial, helvetica;
|
|
11
|
+
color:#000000;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
P {
|
|
15
|
+
line-height:1.5em;
|
|
16
|
+
margin-top:0.5em; margin-bottom:1.0em;
|
|
17
|
+
}
|
|
18
|
+
H1 {
|
|
19
|
+
MARGIN: 0px 0px 5px;
|
|
20
|
+
FONT: bold larger arial, verdana, helvetica;
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
H2 {
|
|
24
|
+
MARGIN-TOP: 1em; MARGIN-BOTTOM: 0.5em;
|
|
25
|
+
FONT: larger verdana,arial,helvetica
|
|
26
|
+
}
|
|
27
|
+
H3 {
|
|
28
|
+
MARGIN-BOTTOM: 0.5em; FONT: bold 13px verdana,arial,helvetica
|
|
29
|
+
}
|
|
30
|
+
H4 {
|
|
31
|
+
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
|
|
32
|
+
}
|
|
33
|
+
H5 {
|
|
34
|
+
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
|
|
35
|
+
}
|
|
36
|
+
H6 {
|
|
37
|
+
MARGIN-BOTTOM: 0.5em; FONT: bold 100% verdana,arial,helvetica
|
|
38
|
+
}
|
|
39
|
+
.notVisited { background:red; }
|
|
40
|
+
.excluded { background: skyblue; }
|
|
41
|
+
.visited { background: #90ee90; }
|
|
42
|
+
.title { font-size: 12px; font-weight: bold; }
|
|
43
|
+
.assembly { font-size: normal; font-weight: bold; font-size: 11px}
|
|
44
|
+
.class {font-size:normal; cursor: hand; color: #444444; font-size: 11px}
|
|
45
|
+
.module { color: navy; font-size: 12px; }
|
|
46
|
+
.method {cursor: hand; color: ; font-size: 10px; font-weight: bold; }
|
|
47
|
+
.subtitle { color: black; font-size: 10px; font-weight: bold; }
|
|
48
|
+
.hdrcell {font-size:9px; background-color: #DDEEFF; }
|
|
49
|
+
.datacell {font-size:9px; background-color: #FFFFEE; text-align: right; }
|
|
50
|
+
.hldatacell {font-size:9px; background-color: #FFCCCC; text-align: right; }
|
|
51
|
+
.exdatacell {font-size:9px; background-color: #DDEEFF; text-align: right; }
|
|
52
|
+
.detailPercent { font-size: 9px; font-weight: bold; padding-top: 1px; padding-bottom: 1px; padding-left: 3px; padding-right: 3px;}
|
|
53
|
+
</style>
|
|
54
|
+
<script language="JavaScript"><![CDATA[
|
|
55
|
+
function toggle (field)
|
|
56
|
+
{ field.style.display = (field.style.display == "block") ? "none" : "block"; }
|
|
57
|
+
|
|
58
|
+
function SwitchAll(how)
|
|
59
|
+
{ var len = document.all.length-1;
|
|
60
|
+
for(i=0;i!=len;i++) {
|
|
61
|
+
var block = document.all[i];
|
|
62
|
+
if (block != null && block.id != '')
|
|
63
|
+
{ block.style.display=how;}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
function ExpandAll()
|
|
69
|
+
{SwitchAll('block');}
|
|
70
|
+
|
|
71
|
+
function CollapseAll()
|
|
72
|
+
{SwitchAll('none');}
|
|
73
|
+
]]></script>
|
|
74
|
+
</head>
|
|
75
|
+
<body>
|
|
76
|
+
<a name="#top"></a>
|
|
77
|
+
<xsl:call-template name="header" />
|
|
78
|
+
<xsl:call-template name="ModuleSummary" />
|
|
79
|
+
<xsl:call-template name="module" />
|
|
80
|
+
<xsl:call-template name="footer" />
|
|
81
|
+
<script language="JavaScript">CollapseAll();</script>
|
|
82
|
+
</body>
|
|
83
|
+
</html>
|
|
84
|
+
</xsl:template>
|
|
85
|
+
<xsl:template name="module">
|
|
86
|
+
<xsl:for-each select="//module">
|
|
87
|
+
<xsl:sort select="@assembly" />
|
|
88
|
+
<xsl:variable name="module" select="./@assembly" />
|
|
89
|
+
<div class="assembly">
|
|
90
|
+
<a name="#{generate-id($module)}">Module
|
|
91
|
+
<xsl:value-of select="$module" />
|
|
92
|
+
</a>
|
|
93
|
+
</div>
|
|
94
|
+
<xsl:for-each select="./method[not(./@class = preceding-sibling::method/@class)]">
|
|
95
|
+
<xsl:sort select="@class" />
|
|
96
|
+
<xsl:sort select="@name" />
|
|
97
|
+
<xsl:call-template name="ClassSummary">
|
|
98
|
+
<xsl:with-param name="module" select="$module" />
|
|
99
|
+
<xsl:with-param name="class" select="./@class" />
|
|
100
|
+
</xsl:call-template>
|
|
101
|
+
</xsl:for-each>
|
|
102
|
+
</xsl:for-each>
|
|
103
|
+
<xsl:variable name="totalMod" select="count(./method/seqpnt[@excluded='false'])" />
|
|
104
|
+
<xsl:variable name="notvisitedMod" select="count( ./method/seqpnt[ @visitcount='0'][@excluded='false'] ) div $totalMod * 100 " />
|
|
105
|
+
<xsl:variable name="visitedMod" select="count(./method/seqpnt[not(@visitcount='0')] ) div $totalMod * 100" />
|
|
106
|
+
</xsl:template>
|
|
107
|
+
<xsl:template name="Methods">
|
|
108
|
+
<xsl:param name="module" />
|
|
109
|
+
<xsl:param name="class" />
|
|
110
|
+
<xsl:for-each select="//method[(@class = $class) and (parent::module/@assembly=$module)]">
|
|
111
|
+
<xsl:sort select="@name" />
|
|
112
|
+
<xsl:variable name="total" select="count(./seqpnt[@excluded='false'])" />
|
|
113
|
+
<xsl:variable name="notvisited" select="count(./seqpnt[@visitcount='0'][@excluded='false'] ) " />
|
|
114
|
+
<xsl:variable name="visited" select="count(./seqpnt[not(@visitcount='0')])" />
|
|
115
|
+
<xsl:variable name="methid" select="generate-id(.)" />
|
|
116
|
+
<table cellpadding="3" cellspacing="0" width="90%">
|
|
117
|
+
<tr>
|
|
118
|
+
<td width="45%" class='method'>
|
|
119
|
+
<xsl:attribute name="onclick">javascript:toggle(
|
|
120
|
+
<xsl:value-of select="$methid" />)
|
|
121
|
+
</xsl:attribute>
|
|
122
|
+
<xsl:value-of select="@name" />
|
|
123
|
+
</td>
|
|
124
|
+
<td width="55%">
|
|
125
|
+
<xsl:call-template name="detailPercent">
|
|
126
|
+
<xsl:with-param name="visited" select="$visited" />
|
|
127
|
+
<xsl:with-param name="notVisited" select="$notvisited" />
|
|
128
|
+
<xsl:with-param name="total" select="$total" />
|
|
129
|
+
</xsl:call-template>
|
|
130
|
+
</td>
|
|
131
|
+
</tr>
|
|
132
|
+
</table>
|
|
133
|
+
<xsl:call-template name="seqpnt">
|
|
134
|
+
<xsl:with-param name="module" select="$module" />
|
|
135
|
+
<xsl:with-param name="class" select="$class" />
|
|
136
|
+
<xsl:with-param name="id" select="$methid" />
|
|
137
|
+
</xsl:call-template>
|
|
138
|
+
</xsl:for-each>
|
|
139
|
+
</xsl:template>
|
|
140
|
+
<xsl:template name="seqpnt">
|
|
141
|
+
<xsl:param name="module" />
|
|
142
|
+
<xsl:param name="class" />
|
|
143
|
+
<xsl:param name="id" />
|
|
144
|
+
<table cellpadding="3" cellspacing="0" border='1' width="90%" bordercolor="black" style="display: block;">
|
|
145
|
+
<xsl:attribute name="id">
|
|
146
|
+
<xsl:value-of select="$id" />
|
|
147
|
+
</xsl:attribute>
|
|
148
|
+
<tr>
|
|
149
|
+
<td class="hdrcell">Visits</td>
|
|
150
|
+
<td class="hdrcell">Line</td>
|
|
151
|
+
<td class="hdrcell">End</td>
|
|
152
|
+
<td class="hdrcell">Column</td>
|
|
153
|
+
<td class="hdrcell">End</td>
|
|
154
|
+
<td class="hdrcell">Document</td>
|
|
155
|
+
</tr>
|
|
156
|
+
<xsl:for-each select="./seqpnt">
|
|
157
|
+
<xsl:sort select="@line" />
|
|
158
|
+
<tr>
|
|
159
|
+
<td class="datacell">
|
|
160
|
+
<xsl:attribute name="class">
|
|
161
|
+
<xsl:choose>
|
|
162
|
+
<xsl:when test="@excluded = 'true'">exdatacell</xsl:when>
|
|
163
|
+
<xsl:when test="@visitcount = 0">hldatacell</xsl:when>
|
|
164
|
+
<xsl:otherwise>datacell</xsl:otherwise>
|
|
165
|
+
</xsl:choose>
|
|
166
|
+
</xsl:attribute>
|
|
167
|
+
<xsl:choose>
|
|
168
|
+
<xsl:when test="@excluded = 'true'">---</xsl:when>
|
|
169
|
+
<xsl:otherwise><xsl:value-of select="@visitcount" /></xsl:otherwise>
|
|
170
|
+
</xsl:choose>
|
|
171
|
+
</td>
|
|
172
|
+
<td class="datacell">
|
|
173
|
+
<xsl:value-of select="@line" />
|
|
174
|
+
</td>
|
|
175
|
+
<td class="datacell">
|
|
176
|
+
<xsl:value-of select="@endline" />
|
|
177
|
+
</td>
|
|
178
|
+
<td class="datacell">
|
|
179
|
+
<xsl:value-of select="@column" />
|
|
180
|
+
</td>
|
|
181
|
+
<td class="datacell">
|
|
182
|
+
<xsl:value-of select="@endcolumn" />
|
|
183
|
+
</td>
|
|
184
|
+
<td class="datacell">
|
|
185
|
+
<xsl:value-of select="@document" />
|
|
186
|
+
</td>
|
|
187
|
+
</tr>
|
|
188
|
+
</xsl:for-each>
|
|
189
|
+
</table>
|
|
190
|
+
</xsl:template>
|
|
191
|
+
<!-- Class Summary -->
|
|
192
|
+
<xsl:template name="ClassSummary">
|
|
193
|
+
<xsl:param name="module" />
|
|
194
|
+
<xsl:param name="class" />
|
|
195
|
+
<xsl:variable name="total" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module) and (parent::method/@class=$class) and (@excluded='false') ])" />
|
|
196
|
+
<xsl:variable name="notvisited" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module)and (parent::method/@class=$class) and (@visitcount='0') and (@excluded='false')] )" />
|
|
197
|
+
<xsl:variable name="visited" select="count(//seqpnt[(parent::method/parent::module/@assembly=$module) and (parent::method/@class=$class) and (not(@visitcount='0'))] )" />
|
|
198
|
+
<xsl:variable name="newid" select="concat (generate-id(), 'class')" />
|
|
199
|
+
<table width='90%'>
|
|
200
|
+
<tr>
|
|
201
|
+
<td width="40%" class="class">
|
|
202
|
+
<xsl:attribute name="onclick">javascript:toggle(
|
|
203
|
+
<xsl:value-of select="$newid" />)
|
|
204
|
+
</xsl:attribute>
|
|
205
|
+
<xsl:value-of select="$class" />
|
|
206
|
+
</td>
|
|
207
|
+
<td width="60%">
|
|
208
|
+
<xsl:call-template name="detailPercent">
|
|
209
|
+
<xsl:with-param name="visited" select="$visited" />
|
|
210
|
+
<xsl:with-param name="notVisited" select="$notvisited" />
|
|
211
|
+
<xsl:with-param name="total" select="$total" />
|
|
212
|
+
</xsl:call-template>
|
|
213
|
+
</td>
|
|
214
|
+
</tr>
|
|
215
|
+
<tr>
|
|
216
|
+
<table style="display: block;" width="100%">
|
|
217
|
+
<tr>
|
|
218
|
+
<td>
|
|
219
|
+
<xsl:attribute name="id">
|
|
220
|
+
<xsl:value-of select="$newid" />
|
|
221
|
+
</xsl:attribute>
|
|
222
|
+
<xsl:call-template name="Methods">
|
|
223
|
+
<xsl:with-param name="module" select="$module" />
|
|
224
|
+
<xsl:with-param name="class" select="$class" />
|
|
225
|
+
</xsl:call-template>
|
|
226
|
+
</td>
|
|
227
|
+
</tr>
|
|
228
|
+
</table>
|
|
229
|
+
</tr>
|
|
230
|
+
</table>
|
|
231
|
+
<hr size="1" width='90%' align='left' style=" border-bottom: 1px dotted #999;" />
|
|
232
|
+
</xsl:template>
|
|
233
|
+
<xsl:template name="ClassSummaryDetail">
|
|
234
|
+
<xsl:param name="module" />
|
|
235
|
+
<xsl:variable name="total" select="count(./method/seqpnt[ @excluded='false' ])" />
|
|
236
|
+
<xsl:variable name="notVisited" select="count( ./method/seqpnt[ @visitcount='0'][ @excluded='false' ] )" />
|
|
237
|
+
<xsl:variable name="visited" select="count(./method/seqpnt[not(@visitcount='0')] )" />
|
|
238
|
+
<td width="35%">
|
|
239
|
+
<div class="assembly">
|
|
240
|
+
<a href="#{generate-id($module)}">
|
|
241
|
+
<xsl:value-of select="$module" />
|
|
242
|
+
</a>
|
|
243
|
+
</div>
|
|
244
|
+
</td>
|
|
245
|
+
<td width="65%">
|
|
246
|
+
<xsl:call-template name="detailPercent">
|
|
247
|
+
<xsl:with-param name="visited" select="$visited" />
|
|
248
|
+
<xsl:with-param name="notVisited" select="$notVisited" />
|
|
249
|
+
<xsl:with-param name="total" select="$total" />
|
|
250
|
+
</xsl:call-template>
|
|
251
|
+
</td>
|
|
252
|
+
</xsl:template>
|
|
253
|
+
<!-- Modules Summary -->
|
|
254
|
+
<xsl:template name="ModuleSummary">
|
|
255
|
+
<H2>Modules summary</H2>
|
|
256
|
+
<xsl:for-each select="//module">
|
|
257
|
+
<xsl:sort select="@assembly" />
|
|
258
|
+
<table width='90%'>
|
|
259
|
+
<tr>
|
|
260
|
+
<xsl:call-template name="ModuleSummaryDetail">
|
|
261
|
+
<xsl:with-param name="module" select="./@assembly" />
|
|
262
|
+
</xsl:call-template>
|
|
263
|
+
</tr>
|
|
264
|
+
</table>
|
|
265
|
+
</xsl:for-each>
|
|
266
|
+
<hr size="1" />
|
|
267
|
+
</xsl:template>
|
|
268
|
+
<xsl:template name="ModuleSummaryDetail">
|
|
269
|
+
<xsl:param name="module" />
|
|
270
|
+
<xsl:variable name="total" select="count(./method/seqpnt[@excluded='false'])" />
|
|
271
|
+
<xsl:variable name="notVisited" select="count( ./method/seqpnt[ @visitcount='0' ][ @excluded='false' ] )" />
|
|
272
|
+
<xsl:variable name="visited" select="count(./method/seqpnt[not(@visitcount='0')] )" />
|
|
273
|
+
<td width="30%">
|
|
274
|
+
<div class="assembly">
|
|
275
|
+
<a href="#{generate-id($module)}">
|
|
276
|
+
<xsl:value-of select="$module" />
|
|
277
|
+
</a>
|
|
278
|
+
</div>
|
|
279
|
+
</td>
|
|
280
|
+
<td width="70%">
|
|
281
|
+
<xsl:call-template name="detailPercent">
|
|
282
|
+
<xsl:with-param name="visited" select="$visited" />
|
|
283
|
+
<xsl:with-param name="notVisited" select="$notVisited" />
|
|
284
|
+
<xsl:with-param name="total" select="$total" />
|
|
285
|
+
</xsl:call-template>
|
|
286
|
+
</td>
|
|
287
|
+
</xsl:template>
|
|
288
|
+
<!-- General Header -->
|
|
289
|
+
<xsl:template name="header">
|
|
290
|
+
<h1>
|
|
291
|
+
<b>NCover</b> Code Coverage Report
|
|
292
|
+
</h1>
|
|
293
|
+
<table>
|
|
294
|
+
<tr>
|
|
295
|
+
<td class="class">
|
|
296
|
+
<a onClick="ExpandAll();">Expand</a>
|
|
297
|
+
</td>
|
|
298
|
+
<td> | </td>
|
|
299
|
+
<td class="class">
|
|
300
|
+
<a onClick="CollapseAll();">Collapse</a>
|
|
301
|
+
</td>
|
|
302
|
+
</tr>
|
|
303
|
+
</table>
|
|
304
|
+
<hr size="1" />
|
|
305
|
+
</xsl:template>
|
|
306
|
+
<xsl:template name="footer">
|
|
307
|
+
<hr size="1" />
|
|
308
|
+
<a class="detailPercent" href="#{top}">Top</a>
|
|
309
|
+
</xsl:template>
|
|
310
|
+
<!-- draw % table-->
|
|
311
|
+
<xsl:template name="detailPercent">
|
|
312
|
+
<xsl:param name="visited" />
|
|
313
|
+
<xsl:param name="notVisited" />
|
|
314
|
+
<xsl:param name="total" />
|
|
315
|
+
<table width="100%" class="detailPercent">
|
|
316
|
+
<tr>
|
|
317
|
+
<xsl:if test="($notVisited=0) and ($visited=0)">
|
|
318
|
+
<td class="excluded" width="100%">Excluded</td>
|
|
319
|
+
</xsl:if>
|
|
320
|
+
<xsl:if test="not($notVisited=0)">
|
|
321
|
+
<td class="notVisited">
|
|
322
|
+
<xsl:attribute name="width">
|
|
323
|
+
<xsl:value-of select="concat($notVisited div $total * 100,'%')" />
|
|
324
|
+
</xsl:attribute>
|
|
325
|
+
<xsl:value-of select="concat (format-number($notVisited div $total * 100,'#.##'),'%')" />
|
|
326
|
+
</td>
|
|
327
|
+
</xsl:if>
|
|
328
|
+
<xsl:if test="not ($visited=0)">
|
|
329
|
+
<td class="visited">
|
|
330
|
+
<xsl:attribute name="width">
|
|
331
|
+
<xsl:value-of select="concat($visited div $total * 100,'%')" />
|
|
332
|
+
</xsl:attribute>
|
|
333
|
+
<xsl:value-of select="concat (format-number($visited div $total * 100,'#.##'), '%')" />
|
|
334
|
+
</td>
|
|
335
|
+
</xsl:if>
|
|
336
|
+
</tr>
|
|
337
|
+
</table>
|
|
338
|
+
</xsl:template>
|
|
339
|
+
</xsl:stylesheet>
|