2002/ws/desc/test-suite test-suite-reports.xsl,NONE,1.1 test-suite-coverage-summary.xsl,NONE,1.1 test-suite-reports.xml,NONE,1.1 coverage.xsl,NONE,1.1 build.xml,1.11,1.12 test-suite.xml,1.1,1.2

Update of /sources/public/2002/ws/desc/test-suite
In directory hutz:/tmp/cvs-serv13751/test-suite

Modified Files:
	build.xml test-suite.xml 
Added Files:
	test-suite-reports.xsl test-suite-coverage-summary.xsl 
	test-suite-reports.xml coverage.xsl 
Log Message:
Generate test coverage summary report.

Index: build.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/test-suite/build.xml,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** build.xml	10 Nov 2005 06:26:52 -0000	1.11
--- build.xml	11 Nov 2005 06:10:51 -0000	1.12
***************
*** 7,12 ****
  	ChangeLog:
  	
  	2005-11-09 Arthur Ryman ryman@ca.ibm.com
! 	- upgrade to use 2005/08 versions of WSDL 2.0 schemas
  
  	2005-04-30 Arthur Ryman ryman@ca.ibm.com
--- 7,15 ----
  	ChangeLog:
  	
+ 	2005-11-11 Arthur Ryman ryman@ca.ibm.com
+ 	- Added test coverage summary reports.
+ 
  	2005-11-09 Arthur Ryman ryman@ca.ibm.com
! 	- Upgrades to use 2005/08 versions of WSDL 2.0 schemas.
  
  	2005-04-30 Arthur Ryman ryman@ca.ibm.com
***************
*** 133,135 ****
--- 136,146 ----
  	</target>
  
+ 	<target name="test-suite-reports" description="Generates list of coverage reports.">
+ 		<xslt style="test-suite-reports.xsl" in="test-suite.xml" out="test-suite-reports.xml" />
+ 	</target>
+ 
+ 	<target name="test-suite-coverage-summary" description="Generates summary of coverage reports.">
+ 		<xslt style="test-suite-coverage-summary.xsl" in="wsdl-xpaths.xml" out="test-suite-coverage-summary.xml" />
+ 	</target>
+ 
  </project>
\ No newline at end of file

--- NEW FILE: test-suite-reports.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<!--
	Generates the list of coverage reports for the test suite.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	version="1.0">

	<xsl:output method="xml" indent="yes" />

	<xsl:template match="/test-suite">
		<reports>
			<xsl:apply-templates select="test-case" />
		</reports>
	</xsl:template>

	<xsl:template match="test-case">
		<xsl:variable name="id" select="@id" />
		<xsl:for-each select="file">
			<xsl:variable name="file" select="." />
			<xsl:variable name="base"
				select="substring-before($file,'.wsdl')" />
			<xsl:variable name="extension"
				select="substring-after($file,$base)" />
			<xsl:if test="$extension='.wsdl'">
				<report>
					<xsl:value-of select="concat('reports/',$id,'/',$base,'.xml')"/>
				</report>
			</xsl:if>
		</xsl:for-each>
	</xsl:template>

</xsl:stylesheet>
--- NEW FILE: test-suite-reports.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<reports>
<report>reports/documents/bad/Chameleon-1B/getBalance.xml</report>
<report>reports/documents/bad/Chameleon-2B/getBalance.xml</report>
<report>reports/documents/bad/Import-1B/XSDimport.xml</report>
<report>reports/documents/bad/Import-2B/XSDimportInWSDL.xml</report>
<report>reports/documents/bad/Import-3B/XSDimport2.xml</report>
<report>reports/documents/bad/Import-3B/XSDimportValid.xml</report>
<report>reports/documents/bad/Interface-1B/Interface.xml</report>
<report>reports/documents/bad/Interface-2B/Interface.xml</report>
<report>reports/documents/bad/Interface-3B/Interface.xml</report>
<report>reports/documents/bad/Service-12B/Service.xml</report>
<report>reports/documents/bad/Service-13B/Service.xml</report>
<report>reports/documents/bad/Service-14B/Service.xml</report>
<report>reports/documents/bad/Service-15B/Service.xml</report>
<report>reports/documents/bad/Service-1B/Service.xml</report>
<report>reports/documents/bad/Service-2B/Service.xml</report>
<report>reports/documents/bad/TicketAgent-1B/TicketAgent-bad.xml</report>
<report>reports/documents/good/Chameleon-1G/getBalance.xml</report>
<report>reports/documents/good/Chameleon-2G/getBalance.xml</report>
<report>reports/documents/good/Chameleon-3G/getBalance.xml</report>
<report>reports/documents/good/Chameleon-4G/getBalance.xml</report>
<report>reports/documents/good/CreditCardFaults-1G/use-credit-card-faults.xml</report>
<report>reports/documents/good/GreatH-1G/primer-hotelReservationService.xml</report>
<report>reports/documents/good/Import-1G/XSDImport.xml</report>
<report>reports/documents/good/Import-2G/XSDImport.xml</report>
<report>reports/documents/good/Import-2G/XSDImport2.xml</report>
<report>reports/documents/good/ImportedWSDL-1G/retrieveDetails.xml</report>
<report>reports/documents/good/ImportedWSDL-1G/updateDetails.xml</report>
<report>reports/documents/good/Interface-1G/Interface.xml</report>
<report>reports/documents/good/Interface-2G/Interface.xml</report>
<report>reports/documents/good/Interface-3G/Interface.xml</report>
<report>reports/documents/good/Interface-4G/Interface.xml</report>
<report>reports/documents/good/Interface-5G/Interface.xml</report>
<report>reports/documents/good/Interface-6G/Interface.xml</report>
<report>reports/documents/good/Interface-7G/Interface.xml</report>
<report>reports/documents/good/MultipleInlineSchemas-1G/retrieveSchemas.xml</report>
<report>reports/documents/good/SchemaId-1G/schemaIds.xml</report>
<report>reports/documents/good/SchemaLocationFragment-1G/Items.xml</report>
<report>reports/documents/good/Service-1G/Service.xml</report>
<report>reports/documents/good/Service-2G/Service.xml</report>
<report>reports/documents/good/Service-3G/Service.xml</report>
<report>reports/documents/good/ServiceReference-1G/reservationDetails.xml</report>
<report>reports/documents/good/ServiceReference-1G/reservationList.xml</report>
<report>reports/documents/good/TicketAgent-1G/TicketAgent.xml</report>
<report>reports/documents/good/WeathSvc-1G/WeathSvc.xml</report>
<report>reports/documents/good/XsImport-1G/reservation.xml</report>
<report>reports/documents/good/XsImport-2G/reservationDetails.xml</report>
<report>reports/documents/good/XsImport-2G/reservationItems.xml</report>
<report>reports/documents/good/XsImport-3G/reservationDetails.xml</report>
<report>reports/documents/good/XsImport-3G/reservationItems.xml</report>
</reports>

Index: test-suite.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/test-suite/test-suite.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** test-suite.xml	9 Nov 2005 19:36:35 -0000	1.1
--- test-suite.xml	11 Nov 2005 06:10:51 -0000	1.2
***************
*** 1,4 ****
--- 1,51 ----
  <?xml version="1.0" encoding="utf-8"?>
  <test-suite>
+ 	<test-case id="documents/bad/Chameleon-1B">
+ 		<file>getBalance.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Chameleon-2B">
+ 		<file>getBalance.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Import-1B">
+ 		<file>XSDimport.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Import-2B">
+ 		<file>XSDimportInWSDL.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Import-3B">
+ 		<file>XSDimport2.wsdl</file>
+ 		<file>XSDimportValid.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Interface-1B">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Interface-2B">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Interface-3B">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-12B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-13B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-14B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-15B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-1B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/Service-2B">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/bad/TicketAgent-1B">
+ 		<file>TicketAgent-bad.wsdl</file>
+ 	</test-case>
+ 	
  	<test-case id="documents/good/Chameleon-1G">
  		<file>getBalance.wsdl</file>
***************
*** 13,15 ****
--- 60,140 ----
  		<file>getBalance.wsdl</file>
  	</test-case>
+ 	<test-case id="documents/good/CreditCardFaults-1G">
+ 		<file>use-credit-card-faults.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/GreatH-1G">
+ 		<file>primer-hotelReservationService.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Import-1G">
+ 		<file>XSDImport.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Import-2G">
+ 		<file>XSDImport.wsdl</file>
+ 		<file>XSDImport2.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/ImportedWSDL-1G">
+ 		<file>retrieveDetails.wsdl</file>
+ 		<file>updateDetails.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-1G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-2G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-3G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-4G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-5G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-6G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Interface-7G">
+ 		<file>Interface.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/MultipleInlineSchemas-1G">
+ 		<file>retrieveSchemas.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/SchemaId-1G">
+ 		<file>schemaIds.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/SchemaLocationFragment-1G">
+ 		<file>Items.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Service-1G">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Service-2G">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/Service-3G">
+ 		<file>Service.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/ServiceReference-1G">
+ 		<file>reservationDetails.wsdl</file>
+ 		<file>reservationList.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/TicketAgent-1G">
+ 		<file>TicketAgent.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/WeathSvc-1G">
+ 		<file>WeathSvc.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/XsImport-1G">
+ 		<file>reservation.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/XsImport-2G">
+ 		<file>reservationDetails.wsdl</file>
+ 		<file>reservationItems.wsdl</file>
+ 	</test-case>
+ 	<test-case id="documents/good/XsImport-3G">
+ 		<file>reservationDetails.wsdl</file>
+ 		<file>reservationItems.wsdl</file>
+ 	</test-case>
+ 	
  </test-suite>
\ No newline at end of file

--- NEW FILE: test-suite-coverage-summary.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<!--
	Generates summary of coverage.
-->
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:wsdl="http://www.w3.org/2005/08/wsdl"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
	exclude-result-prefixes="xs wsdl">

	<xsl:output method="xml" indent="yes" />

	<xsl:variable name="reports"
		select="document('test-suite-reports.xml')//report" />

	<xsl:variable name="items" select="document($reports)//item" />

	<xsl:template match="/xpaths">
		<xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="coverage.xsl"</xsl:processing-instruction>
		<coverage>
			<xsl:apply-templates select="xpath" />
		</coverage>
	</xsl:template>

	<xsl:template match="xpath">
		<xsl:variable name="xpath" select="normalize-space(.)" />
		<item>
			<xsl:attribute name="xpath">
				<xsl:value-of select="$xpath" />
			</xsl:attribute>
			<xsl:attribute name="count">
				<xsl:value-of
					select="sum($items[@xpath=$xpath]/@count)" />
			</xsl:attribute>
		</item>
	</xsl:template>

</xsl:stylesheet>
--- NEW FILE: coverage.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<!--
	Formats coverage report.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	version="1.0">

	<xsl:output method="html" indent="yes" />

	<xsl:variable name="reports"
		select="document('test-suite-reports.xml')//report" />

	<xsl:variable name="items" select="document($reports)//item" />

	<xsl:template match="/coverage">
		<html>
			<head>
				<title>Test Case Coverage Report</title>
			</head>
			<body>
				<h1>Test Case Coverage Report</h1>
				<table border="1" cellspacing="4">
					<thead>
						<tr>
							<th>Status</th>
							<th>Count</th>
							<th>XPath</th>
						</tr>
					</thead>
					<tbody>
						<xsl:apply-templates select="item" />
					</tbody>
				</table>
			</body>
		</html>
	</xsl:template>

	<xsl:template match="item">
		<tr>
			<td>
				<xsl:attribute name="bgcolor">
					<xsl:choose>
						<xsl:when test="@count = 0">red</xsl:when>
						<xsl:when test="@count &lt; 4">yellow</xsl:when>
						<xsl:otherwise>green</xsl:otherwise>
					</xsl:choose>
				</xsl:attribute>
				<xsl:text>&#160;</xsl:text>
			</td>
			<td>
				<xsl:value-of select="@count" />
			</td>
			<td>
				<xsl:value-of select="@xpath" />
			</td>
		</tr>
	</xsl:template>

</xsl:stylesheet>

Received on Friday, 11 November 2005 06:10:57 UTC