ConsoleConfig.xsd 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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>