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.<modulename>.<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>
+ <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><modulename>/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><modulename>/src/tests/<b>impl</b></code> - Harmony specific tests<br />
+ <code><modulename>/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><modulename>/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><modulename>/src/tests/api/<b>common</b></code><br />
+ <code><modulename>/src/tests/api/<b>windows</b></code><br />
+ <code><modulename>/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.<modulename>.tests.<b><package under test></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.<modulename>.<b><rest of the package name></b></code>
+ </blockquote>
+ then the test's package is
+ <blockquote>
+ <code>org.apache.harmony.<modulename>.tests.<b><rest of the package name></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 © 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.<modulename>.<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><modulename>/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><modulename>/src/tests/<b>impl</b></code> - Harmony specific tests<br/>
+ <code><modulename>/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><modulename>/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><modulename>/src/tests/api/<b>common</b></code><br/>
+ <code><modulename>/src/tests/api/<b>windows</b></code><br/>
+ <code><modulename>/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.<modulename>.tests.<b><package under test></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.<modulename>.<b><rest of the package name></b></code>
+ </blockquote>
+ then the test's package is
+ <blockquote>
+ <code>org.apache.harmony.<modulename>.tests.<b><rest of the package name></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