You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/05/04 11:49:42 UTC

svn commit: r399643 - in /incubator/harmony/standard/site: docs/subcomponents/classlibrary/ xdocs/subcomponents/classlibrary/

Author: mloenko
Date: Thu May  4 02:49:41 2006
New Revision: 399643

URL: http://svn.apache.org/viewcvs?rev=399643&view=rev
Log:
Documented result of the discussion on the "[classlib] Testing" thread on the harmony-dev mailing list

Added:
    incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html
    incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/testing.xml
Modified:
    incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html
    incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html
    incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
    incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/pkgnaming.xml

Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html?rev=399643&r1=399642&r2=399643&view=diff
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html Thu May  4 02:49:41 2006
@@ -241,6 +241,15 @@
 				Guidelines for Harmony package naming convention.
 			</p>
 			</li>
+
+		<li><a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
+			<p>
+                                Placement and package naming conventions for different 
+                                types of Harmony class library tests.
+
+			</p>
+			</li>
+
 		<li><a href="compat.html">Compatibility guidelines</a>
 			<p>
 				<b>Proposed</b> guidelines for ensuring that the Harmony class library is compatible

Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html?rev=399643&r1=399642&r2=399643&view=diff
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/pkgnaming.html Thu May  4 02:49:41 2006
@@ -268,7 +268,8 @@
 			<p>
 				Packages with this prefix contain test code that is not part of the
 				module API or implementation.  Some builds may not include these
-				packages.
+				packages. See <a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
+                                for details.
 			</p></li>
 			<li><code>org.apache.harmony.&lt;modulename&gt;.<b>examples</b></code>
 			<p>

Added: incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html?rev=399643&view=auto
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html (added)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/testing.html Thu May  4 02:49:41 2006
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="Harmony Documentation Team">
+            <meta name="email" value="harmony-dev@incubator.apache.org">
+            
+           
+            
+            
+            
+            
+            
+            <title>Apache Harmony - Testing conventions in the Apache Harmony Classlib</title>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#525D76">        
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <table><tr><td>
+                    <td align="left">
+<a href="http://incubator.apache.org/harmony/"><img  src="../../images/harmony-logo.png" alt="Apache Harmony" border="0"/></a>
+</td>
+</td>
+                    </td></tr></table>
+                    </td>
+                    <td align='RIGHT'>
+                    <a href="http://incubator.apache.org/harmony/">
+                    <img src="http://incubator.apache.org/harmony/images/apache-incubator-logo.png"
+                    	alt="Apache Harmony" border="0"/></a>                    
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time 
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>
+                    -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+
+                <p><strong>General</strong></p>
+        <ul>
+                    <li>    <a href="../../index.html">Home</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../license.html">License</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../contribution_policy.html">Contribution Policy</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../guidelines.html">Project Guidelines</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../downloads.html">Downloads</a>
+</li>
+            
+            <table>
+                        </table>
+                </ul>
+            <p><strong>Community</strong></p>
+        <ul>
+                    <li>    <a href="../../get-involved.html">Get Involved</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../contributors.html">Committers</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../mailing.html">Mailing Lists</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../documentation/documentation.html">Documentation</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../faq.html">FAQ</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="http://wiki.apache.org/harmony">Wiki</a>
+</li>
+            
+            <table>
+                        </table>
+                </ul>
+            <p><strong>Development</strong></p>
+        <ul>
+                    <li>    <a href="../../status.html">How Are We Doing?</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../roadmap.html">Road Map / TODO</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../svn.html">Source Code</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="http://issues.apache.org/jira/browse/HARMONY">JIRA</a>
+</li>
+            
+            <table>
+                        </table>
+                    <li>    <a href="../../related.html">Other Projects</a>
+</li>
+            
+            <table>
+                        </table>
+                </ul>
+            <p><strong>Subcomponents</strong></p>
+        <ul>
+                    <li>    <a href="../../subcomponents/classlibrary/index.html">Class Library</a>
+</li>
+            
+            <table>
+                          <tr><td>
+                &nbsp;&nbsp;    <a href="../../subcomponents/classlibrary/status.html">Status</a>
+              </td></tr>
+                        </table>
+                    <li>    <a href="../../subcomponents/jchevm/index.html">Virtual Machine JCHEVM</a>
+</li>
+            
+            <table>
+                        </table>
+                </ul>
+                        </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="2" width="100%">
+      <tr><td bgcolor="#525D76">
+        <font color="#ffffff" face="arial,helvetica,sanserif">
+          <a name="Testing conventions used in the Apache Harmony Class Library"><strong>Testing conventions used in the Apache Harmony Class Library</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>
+		This document describes placement and package naming conventions for
+                different types of Harmony class library tests.
+	</p>
+                                                <p>
+		The Harmony class library code is organized into modules that might have their own
+                specifics. This document provides general guidlines and recomendations that might be
+                adapted/modified to reflect module specifics.
+	</p>
+                                                    <table border="0" cellspacing="0" cellpadding="2" width="100%">
+      <tr><td bgcolor="#828DA6">
+        <font color="#ffffff" face="arial,helvetica,sanserif">
+          <a name="Location of the tests in the directory tree"><strong>Location of the tests in the directory tree</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>
+		Each Java class belongs to a specific module of the Harmony class library. Tests against
+                classes belonging to a module belong to the same module. Tests, their resources, and support
+                classes are located under
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests</code>
+			</blockquote>
+		Tests that are specific for Harmony, testing Harmony implementation details, and may fail
+                on RI or other compliant implementations are separated from the imlpementation-independent
+                tests that must pass on RI and all conformant implementations. 
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/<b>impl</b></code> - Harmony specific tests<br />
+				<code>&lt;modulename&gt;/src/tests/<b>api</b></code> - Implementation-independent tests
+			</blockquote>
+                Special-purpose tests like stress tests or tests that require special configuration are 
+                separated from general-purpose tests.
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/<b>stress</b></code>
+			</blockquote>
+
+                Tests are not separated by functionality under test, e.g. tests against <code>clone()</code>
+                methods are <b>not</b> separated from tests against <code>equals()</code> methods.
+
+                Some modules might have platform specific tests that are in the case separated on a directory 
+                level:
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/api/<b>common</b></code><br />
+				<code>&lt;modulename&gt;/src/tests/api/<b>windows</b></code><br />
+				<code>&lt;modulename&gt;/src/tests/api/<b>linux</b></code>
+			</blockquote>
+	</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="2" width="100%">
+      <tr><td bgcolor="#828DA6">
+        <font color="#ffffff" face="arial,helvetica,sanserif">
+          <a name="Package names for different types of the tests"><strong>Package names for different types of the tests</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>
+		If the test is designed to be run from bootclasspath then its package is the same
+                as the package of the class under test
+	</p>
+                                                <p>
+		If the test is designed to be run from classpath then:<br />
+                If the package under test belongs to a public package (i.e. that is a part of the API specification)
+                then the test's package is 
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.tests.<b>&lt;package under test&gt;</b></code>
+			</blockquote>
+                Example: 
+			<blockquote>
+				<code>org.apache.harmony.luni.tests.<b>java.lang</b></code><br />
+				<code>org.apache.harmony.crypto.tests.<b>javax.crypto</b></code><br />
+				<code>org.apache.harmony.auth.tests.<b>org.ietf.jgss</b></code>
+			</blockquote>
+
+                If the package under test belongs to <code>org.apache.harmony</code> namespace so that class's package is
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.<b>&lt;rest of the package name&gt;</b></code>
+			</blockquote>
+                then the test's package is 
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.tests.<b>&lt;rest of the package name&gt;</b></code>
+			</blockquote>
+                Example: 
+			<blockquote>
+				<code>org.apache.harmony.luni.internal.net.www.protocol</code> - package under test<br />
+				<code>org.apache.harmony.luni.tests.internal.net.www.protocol</code> - package for the test
+			</blockquote>
+	</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#525D76" size="-1"><em>
+                    Copyright &#169; 2003-2006, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Modified: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml?rev=399643&r1=399642&r2=399643&view=diff
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml Thu May  4 02:49:41 2006
@@ -53,6 +53,15 @@
 				Guidelines for Harmony package naming convention.
 			</p>
 			</li>
+
+		<li><a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
+			<p>
+                                Placement and package naming conventions for different 
+                                types of Harmony class library tests.
+
+			</p>
+			</li>
+
 		<li><a href="compat.html">Compatibility guidelines</a>
 			<p>
 				<b>Proposed</b> guidelines for ensuring that the Harmony class library is compatible

Modified: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/pkgnaming.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/pkgnaming.xml?rev=399643&r1=399642&r2=399643&view=diff
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/pkgnaming.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/pkgnaming.xml Thu May  4 02:49:41 2006
@@ -80,7 +80,8 @@
 			<p>
 				Packages with this prefix contain test code that is not part of the
 				module API or implementation.  Some builds may not include these
-				packages.
+				packages. See <a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
+                                for details.
 			</p></li>
 			<li><code>org.apache.harmony.&lt;modulename&gt;.<b>examples</b></code>
 			<p>

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/testing.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/testing.xml?rev=399643&view=auto
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/testing.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/testing.xml Thu May  4 02:49:41 2006
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<document>
+
+ <properties>
+  <title>Testing conventions in the Apache Harmony Classlib</title>
+  <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+ </properties>
+
+<body>
+
+<section name="Testing conventions used in the Apache Harmony Class Library">
+	<p>
+		This document describes placement and package naming conventions for
+                different types of Harmony class library tests.
+	</p>
+	<p>
+		The Harmony class library code is organized into modules that might have their own
+                specifics. This document provides general guidlines and recomendations that might be
+                adapted/modified to reflect module specifics.
+	</p>
+
+<subsection name="Location of the tests in the directory tree">
+	<p>
+		Each Java class belongs to a specific module of the Harmony class library. Tests against
+                classes belonging to a module belong to the same module. Tests, their resources, and support
+                classes are located under
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests</code>
+			</blockquote>
+		Tests that are specific for Harmony, testing Harmony implementation details, and may fail
+                on RI or other compliant implementations are separated from the imlpementation-independent
+                tests that must pass on RI and all conformant implementations. 
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/<b>impl</b></code> - Harmony specific tests<br/>
+				<code>&lt;modulename&gt;/src/tests/<b>api</b></code> - Implementation-independent tests
+			</blockquote>
+                Special-purpose tests like stress tests or tests that require special configuration are 
+                separated from general-purpose tests.
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/<b>stress</b></code>
+			</blockquote>
+
+                Tests are not separated by functionality under test, e.g. tests against <code>clone()</code>
+                methods are <b>not</b> separated from tests against <code>equals()</code> methods.
+
+                Some modules might have platform specific tests that are in the case separated on a directory 
+                level:
+			<blockquote>
+				<code>&lt;modulename&gt;/src/tests/api/<b>common</b></code><br/>
+				<code>&lt;modulename&gt;/src/tests/api/<b>windows</b></code><br/>
+				<code>&lt;modulename&gt;/src/tests/api/<b>linux</b></code>
+			</blockquote>
+	</p>
+</subsection>
+
+<subsection name="Package names for different types of the tests">
+	<p>
+		If the test is designed to be run from bootclasspath then its package is the same
+                as the package of the class under test
+	</p>
+	<p>
+		If the test is designed to be run from classpath then:<br/>
+                If the package under test belongs to a public package (i.e. that is a part of the API specification)
+                then the test's package is 
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.tests.<b>&lt;package under test&gt;</b></code>
+			</blockquote>
+                Example: 
+			<blockquote>
+				<code>org.apache.harmony.luni.tests.<b>java.lang</b></code><br/>
+				<code>org.apache.harmony.crypto.tests.<b>javax.crypto</b></code><br/>
+				<code>org.apache.harmony.auth.tests.<b>org.ietf.jgss</b></code>
+			</blockquote>
+
+                If the package under test belongs to <code>org.apache.harmony</code> namespace so that class's package is
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.<b>&lt;rest of the package name&gt;</b></code>
+			</blockquote>
+                then the test's package is 
+			<blockquote>
+				<code>org.apache.harmony.&lt;modulename&gt;.tests.<b>&lt;rest of the package name&gt;</b></code>
+			</blockquote>
+                Example: 
+			<blockquote>
+				<code>org.apache.harmony.luni.internal.net.www.protocol</code> - package under test<br/>
+				<code>org.apache.harmony.luni.tests.internal.net.www.protocol</code> - package for the test
+			</blockquote>
+	</p>
+</subsection>
+</section>
+</body>
+</document>
\ No newline at end of file