You will need to get an additional CCLA or Software Grant for this. My recollection is that IBM prefers the new adjusted CCLA (with incorporated SG).

geir

On Apr 13, 2005, at 6:34 PM, Satheesh Bandaram wrote:

As Kathy Saunders announced in February, IBM is contributing attached Derby client to Apache Derby project. Derby client is a type 4 JDBC client driver that is designed to work with Derby Network Server.

 I am attaching:

1. High-level functional specification of Derby client. This document covers functionality, driver and datasource properties, setting up CLASSPATH, tracing support, security mechanism and testing support.
2. Patch with changes to Derby build. (DerbyClientPatch.txt)
3. Since Derby client code base was too large to for an attachment, it can be downloaded from: DerbyClientSource.jar


 To build Derby client,
 (Below ${derby.source} refers to the root of your derby source)

â Apply the patch DerbyClientPatch.txt.
â Unjar DerbyClientSource.jar into ${derby.source}/java directory. This should create a 'client' directory under ${derby.source}/java, with org.apache.derby.jdbc and org.apache.derby.client packages and a total of 116 java files under the client directory.
â The client code is built as part of the standard derby build, and the buildjars target will also create derbyclient.jar.
To perform a clean jar build, go to ${derby.source} and then
ant clobber
ant
ant buildjars


â After this, derbyclient.jar would be placed under 'sane' or 'insane' sub-directories of ${derby.source}/jars depending on your SANE property value.
I call for a vote to accept Derby client by end of next week. (April 22nd)


I am very excited to have this submission!!! I vote +1 to accept this as part of Derby.

 Satheesh Derby Network Client

Last update: 4/11/05


Contents

        â  Overview
        â  Functionality
        â  JDBC Driver and DataSource names
        â  Ways to Connect using the Derby Client Driver
        â  Data Source properties
        â  Tracing
        â  ClientDataSource Tracing Examples
        â  DriverManager Tracing Examples
        â  Changing the Default Trace Level
        â  Security
        â  Packaging, Distribution and Versioning
        â  Comparision and/or differences with the Derby Embedded Driver
        â  Effects to existing documentation
        â  Miscellaneous

Overview

The Derby network client provides network connectivity to the Derby Network Server. It is distributed as an additional jar file, derbyclient.jar, with an entirely independent code base from the embedded driver.

The Derby network client is a type 4, JDBC compliant Driver, which attempts to match the Derby Embedded JDBC driver as much as possible. Initially, it will have some differences from the embedded driver, for example, some SQL States will remain null and error messages will not be localized in the initial offering. Hopefully, over time the functionality of the two drivers will converge.

 Functionality

All functionality for the Derby network client is packaged in the derbyclient.jar file which will be added to the Derby distribution. The client application needs only to include the new jar and application classes in its classpath. derbyclient.jar has no dependencies on the tools, server, or derby database engine classes, nor do those classes depend on derbyclient.jar. Some new client classes are in the same package as the embedded driver, such as org.apache.derby.jdbc.ClientDriver, but the actual classes are contained only in the client jar file.

The Derby network client allows connections via JDBC URL using DriverManager by its implementations of JDBC20 data sources, javax.sql.DataSource, javax.sql.ConnectionPoolDataSource. An implementation of javax.sql.XADataSource is also provided for network XA Support. The Derby network client provides a tracing facility to collect JDBC trace information and view protocol flows for debugging. Security mechanisms are also provided for user and password encryption. DataSource properties and connection attributes can be used to enable tracing, as well as security settings.

Tools support for ij and dblook as well as test harness support is provided.

The sections that follow will describe the functionality and provide examples of using each characteristic mentioned here.

 JDBC Driver and DataSource names

The Derby network client classes and JDBC interfaces they implement are listed below.

 JDBC Interface
Â
 Derby network client class

java.sql.Driver
Â
org.apache.derby.jdbc.ClientDriver

javax.sql.DataSource
Â
org.apache.derby.jdbc.ClientDataSource

javax.sql.XADataSource
Â
org.apache.derby.jdbc.ClientXADataSource

javax.sql.ConnectionPoolDataSource
Â
org.apache.derby.jdbc.ClientConnectionPoolDataSource

Connection URL Format

The protocol for the client URL is jdbc:derby://. The embedded and client attributes are specified the same way. The embedded driver has been changed to reject URL's with a // following derby:

 Derby network client URL Format

jdbc:derby://server[:port]/databaseName[;attributeKey=value]..

An example of using this URL to connect to the Derby network server running on the localhost at port 1527 in ij is:

ij> connect `jdbc:derby://localhost:1527/sample;create=true;user=user1; password=secret4me';

 Ways to Connect using the Derby Client Driver

Client CLASSPATH

Prior to using the Derby network client, the derbyclient.jar file needs to be added to the classpath on the client. On Windows, to add the derbyclient.jar file to your classpath, use the following command:

 set CLASSPATH=%CLASSPATH%;%DERBY_INSTALL%\lib\derbyclient.jar;

When using the Derby client driver to connect to the Derby database, there are two general methodologies used to connect. The first method is to use the DriverManager. The second way to connect is to use one of the three DataSource classes listed above.

 To use the DriverManager, the first step is to load the ClientDriver.

 Loading the driver:
  port java.sql.* ;
 ...

try
{
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();


   } catch (ClassNotFoundException e) {
         e.printStackTrace();
   } catch(java.lang.InstantiationException instant) {
         instant.printStackTrace();
   } catch(java.lang.IllegalAccessException illegal) {
         illegal.printStackTrace();
   }

 ...



Now a connection can be made with the DriverManager.

Connecting with the DriverManager:
String url = "jdbc:derby://myhost.mydomain.com:1527/mydb;create=true;user=user1; password=secret4me";
connection = DriverManager.getConnection(url);


 Connecting with the ClientDataSource:


import java.sql.*; import javax.sql.*; import org.apache.derby.jdbc.ClientDataSource;

...

ClientDataSource ds=new ClientDataSource();
ds.setDatabaseName("sample");
ds.setServerName("localhost"); // host with listening network server.
ds.setPortNumber(1527); // port of listening network server.
ds.setUser("user1"); // Assign the user ID
ds.setPassword("secret4me"); // Assign the password
Connection con= ds.getConnection(); // Create a Connection object






Data Source properties

The following data source properties are available on the ClientDataSource, ClientConnectionPoolDataSource and the ClientXADataSource classes.

 Standard JDBC Data Source Properties

Property
 Type
Description
Default
Req'd
Url Attr

databaseName*
String
name of database
Â
X
Â

dataSourceName*
String
a data source name
Â
Â
Â

description*
String
a description of this data source
Â
Â
Â

user*
String
user's account name
APP
Â
user

password*
String
user's database password
Â
Â
password

serverName
String
host name or TCP/IP address where the server is listening for requests
localhost
Â
Â

portNumber
int
port number where the server is listening for requests
1527
Â
Â

Client Specific Data Source Properties

traceFile
String
filename for tracing output. Setting this property turns on tracing. (See Tracing)
Â
Â
traceFile


traceDirectory
String
directory for tracing output. Each connection will output to a separate file. Setting this property turns on tracing. (See Tracing)
Â
Â
traceDirectory


traceLevel
int
level of client tracing if traceFile or traceDirectory are set
TRACE_ALL
Â
traceLevel

traceFileAppend
boolean
true if tracing output should append to the existing trace file.
false
Â
traceFileAppend

securityMechanism
int
security mechanism (See Security)
USER_ONLY_SECURITY
Â
securityMechanism

retrieveMessageText
boolean
retrieve message text from server. A stored procedure is called to retrieve the message text with each SQLException and may start a new unit of work. Set to false if you do not want the performance impact or encounter issues with a new unit of work being started.
true
Â
retrieveMessageText


Server Specific Data Source Properties

These properties are translated into server specific URL attributes which are passed to the Derby embedded driver by appending them to the databaseName. For example, calling setDatabaseName("mydb") followed by setConnectionAttributes("create=true") will cause the string mydb;create=true to be sent to the server as the database name . The URL to connect to the database will therefore include these attributes.

connectionAttributes*
String
set to the list of Derby embedded connection attributes separated by semi-colons. E.g., to specify an encryption bootPassword of "x8hhk2adf", and set upgrade to true, do the following: ds.setConnectionAttributes("bootPassword=x8hhk2adf;upgrade=true");
Â
Â
various. See Derby Documentation for a full list.


* This property is also available on the EmbeddedDataSource. All other data source properties are supplemental to the ClientDataSources.

Note: setAttributesAsPassword , which is available for the embedded data sources is not available for the client data source. It is not clear how to communicate it to the server.

 Tracing

The Derby network client provides a tracing facility to collect JDBC trace information and view protocol flows. Listed below are various ways to obtain trace output. However, the easiest way to turn on tracing is to use the traceFile attribute on the url in ij. The example below shows all tracing going to the file trace.out from an ij session.
ij>connect 'jdbc:derby://localhost:1527/mydb;create=true;traceFile=trace.out; user=user1;password=secret4me';


 ClientDataSource Tracing

Three methods can be used to collect tracing data if obtaining connections from the ClientDataSource.
1. Use the setLogWriter(java.io.PrintWriter) method of ClientDataSource and set the PrintWriter to a non null value.
2. Use the setTraceFile(String filename) method of ClientDataSource.
3. Use the setTraceDirectory(String dirname) method of ClientDataSource to trace each connection flow in its own file for programs that have multiple connections.


 DriverManager Tracing

If the DriverManager is used to obtain connections, two ways are available to enable and collect tracing information.
â Use the setLogWriter(java.io.PrintWriter) method of DriverManager and set the PrintWriter to a non null value.
â Use the URL attributes traceFile or traceDirectory to set these properties prior to creating the connection with the DriverManager.getConnection() method.


 ClientDataSource Tracing Examples

Shown below are examples of each tracing type for the ClientDataSource Tracing.
1. Use the setLogWriter(java.io.PrintWriter) method of ClientDataSource and set the PrintWriter to a non null value.
/**
* Example to show how to set /enable tracing when using DataSource
* - using the setLogWriter method on the datasource
*/
private static void sampleConnectUsingSimpleDataSource()
throws Exception
{
java.sql.Connection conn = null;
try
{
javax.sql.DataSource ds =
new org.apache.derby.jdbc.ClientDataSource();
((org.apache.derby.jdbc.ClientDataSource) ds).setServerName("localhost");
((org.apache.derby.jdbc.ClientDataSource) ds).setPortNumber(1527);
((org.apache.derby.jdbc.ClientDataSource) ds).setDatabaseName("sampleDB;create=true");
System.out.println("--------------------------------------------------- ------------");
System.out.println("[TraceWithSetLogWriter] Setting setLogWriter to trace.log.");
System.out.println("Traces will be written into trace.log");
java.io.PrintWriter pw = new PrintWriter(new FileOutputStream("trace.log"),true);
ds.setLogWriter(pw);



// Refine the level of tracing detail ((org.apache.derby.jdbc.ClientDataSource) ds). setTraceLevel(org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTS | org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS);

// This connection request is traced using trace level
// TRACE_CONNECTS | TRACE_PROTOCOL_FLOWS
conn = ds.getConnection("user1", "secretPassword");
  java.sql.Statement s = conn.createStatement();
try
{
 s.executeUpdate("DROP TABLE sampleTable");
  }
  catch(Exception e)
  {
  // ignore drop of table error
}

s.executeUpdate("CREATE TABLE sampleTable( sampleColumn int)");
PreparedStatement ps = conn.prepareStatement("insert into sampleTable values(?)");


  // do some inserts
conn.setAutoCommit(false);
ps.setInt(1,1);
ps.setInt(1,2);
ps.executeUpdate();
conn.commit();

// cleanup resources
s.close();
ps.close();
conn.close();
pw.flush();
pw.close();
}
catch(java.sql.SQLException e)
{
e.printStackTrace();
}
}


2. Use the setTraceFile(String filename) method of ClientDataSource.
/**
* Example to show how to set /enable tracing when obtaining connections from DataSource
* - using the setTraceFile method on the datasource
*/
private static void sampleConnectUsingSimpleDataSource()
throws Exception
{
java.sql.Connection conn = null;


try
{
javax.sql.DataSource ds =
new org.apache.derby.jdbc.ClientDataSource();
((org.apache.derby.jdbc.ClientDataSource) ds).setServerName("localhost");
((org.apache.derby.jdbc.ClientDataSource) ds).setPortNumber(1527);
((org.apache.derby.jdbc.ClientDataSource) ds).setDatabaseName("sampleDB;create=true");
System.out.println("--------------------------------------------------- ------------");
System.out.println("[TraceWithSetTraceFile] Setting setTraceFile to trace.log.");
System.out.println("Traces will be written into trace.log");
((org.apache.derby.jdbc.ClientDataSource) ds).setTraceFile("trace.log");



// Refine the level of tracing detail ((org.apache.derby.jdbc.ClientDataSource) ds). setTraceLevel(org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTS | org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS);

// This connection request is traced using trace level
// TRACE_CONNECTS | TRACE_PROTOCOL_FLOWS
conn = ds.getConnection("user1", "secretPassword");
   java.sql.Statement s1 = conn.createStatement();
try
{
 s1.executeUpdate("DROP TABLE sampleTable");
  }
  catch(Exception e)
  {
  // ignore drop of table error
}

s1.executeUpdate("CREATE TABLE sampleTable( sampleColumn int)");
PreparedStatement ps = conn.prepareStatement("insert into sampleTable values (?)");


conn.setAutoCommit(false);
ps.setInt(1,1);
ps.executeUpdate();
conn.commit();

// cleanup resources
s1.close();
ps.close();
conn.close();
}
catch(java.sql.SQLException e) {
e.printStackTrace();
}
}



3. Use the setTraceDirectory(String dirname) method of ClientDataSource to trace each connection flow in its own file for programs that have multiple connections.

Call the setTraceDirectory(String directoryName) method on the ClientDataSource or use the URL attribute traceDirectory=<directory> to specify a directory for trace output. The directory must already exist. If the traceDirectory property is enabled, then tracing of multiple connections on the same datasource will be directed to separate files under the specified directory.

When tracing to a directory, each connection will be traced to a separate file named traceFile_origination_n, where origination indicates the origination of the log writer in use and can be "xads", "cpds", "ds", or "driver", and n represents the nth connection against the datasource. The log writer origination indicator in the file name maps to the log writer as follows:
â ds - ClientXADataSource
â cpds - ClientConnectionPoolDataSource
â ds - ClientDataSource
â driver - ClientDriver
/**
* Example to show how to set /enable tracing when obtaining connections from DataSource
* - using the setTraceDirectory method on the DataSource
*/
private static void sampleConnectUsingSimpleDataSource()
throws Exception
{
java.sql.Connection conn = null;


try {
javax.sql.DataSource ds =
new org.apache.derby.jdbc.ClientDataSource();
((org.apache.derby.jdbc.ClientDataSource) ds).setServerName("localhost");
((org.apache.derby.jdbc.ClientDataSource) ds).setPortNumber(1527);
((org.apache.derby.jdbc.ClientDataSource) ds).setDatabaseName("sampleDB;create=true");
((org.apache.derby.jdbc.ClientDataSource) ds).setTraceDirectory("myTraceDir");


conn = ds.getConnection("user1", "secretPassword");
java.sql.Statement s1 = conn.createStatement();
try
{
s1.executeUpdate("DROP TABLE sampleTable");
}
catch(Exception e)
{
System.out.println("First time, expected exception in drop table as table not yet created in database" +e.getMessage());
}


s1.executeUpdate("CREATE TABLE sampleTable( sampleColumn int)");
PreparedStatement ps = conn.prepareStatement("insert into sampleTable values (?)");


conn.setAutoCommit(false);
ps.setInt(1,1);
ps.executeUpdate();
conn.commit();

// cleanup resources
s1.close();
ps.close();
conn.close();

// Each connection trace will be in a file of its own prefixed
// by name set using the setTraceFile
// example : traceFile_origination_n. n is the nth connection against the datasource.
// origination indicates the origination of the logwriter in use and can be
// cpds, xads, ds, driver
Connection conn2 = ds.getConnection("user2","password2");
conn2.close();
}
catch(java.sql.SQLException e) {
e.printStackTrace();
}
}




 DriverManager Tracing Examples

Shown below is an example of enabling tracing when obtaining connections using the DriverManager API.
1. Use the setLogWriter(java.io.PrintWriter) method of DriverManager and set the PrintWriter to a non null value.


/**
* Example to show how to set /enable tracing when obtaining connections from
* java.sql.DriverManager api.
* - using the setLogWriter method on the DriverManager api
*/


import java.sql.*;
import javax.sql.*;
import org.apache.derby.jdbc.ClientDataSource;
import java.io.PrintWriter;
import java.io.FileOutputStream;

...
private static void sampleConnectWithURLUsingDriverManager()
throws Exception
{
java.sql.Connection conn = null;

try
{
Class.forName("org.apache.derby.jdbc.ClientDriver");
}
catch(ClassNotFoundException e)
{
System.out.println("[TraceWithSetLogWriter] Derby Client driver is not in the classpath.Check if derbyclient.jar is in your classpath!");
return;
}
try
{
System.out.println("--------------------------------------------------- ------------------");
System.out.println("Setting logging/tracing using setLogWriter on DriverManager to trace1.log");
java.sql.DriverManager.setLogWriter(new java.io.PrintWriter(new FileOutputStream("trace1.log")));
}
catch(Exception e)
{
System.out.println("[TraceWithSetLogWriter] Unable to set tracing/logging PrintWriter to trace.log");
}


// The traceLevel property is established through the URL syntax,
// and driver tracing is directed to file "trace1.log"
String databaseURL =
"jdbc:derby://localhost:1527" +
"/sampleDB;create=true;traceLevel=" +
(org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS|org.apache .derby.jdbc.ClientDataSource.TRACE_CONNECTS);


// Set other properties
java.util.Properties properties = new java.util.Properties();
properties.setProperty("user", "myname");
properties.setProperty("password", "mypass");
try
{
// This connection request is traced using trace level
// TRACE_CONNECTS | TRACE_PROTOCOL_FLOWS
conn = java.sql.DriverManager.getConnection(databaseURL, properties);

java.sql.Statement s = conn.createStatement();
try
{
s.executeUpdate("DROP TABLE sampleTable");
}
catch(Exception e)
{
System.out.println("First time, expected exception in drop table as table not yet created in database" +e.getMessage());
}


s.executeUpdate("CREATE TABLE sampleTable( sampleColumn int)");
PreparedStatement ps = conn.prepareStatement("insert into sampleTable values(?)");


  // do some inserts
conn.setAutoCommit(false);
ps.setInt(1,1);
ps.setInt(1,2);
ps.executeUpdate();
conn.commit();

// cleanup resources
s.close();
ps.close();
conn.close();
}
catch(java.sql.SQLException e)
{
e.printStackTrace();
}
}



 Changing the Default Trace Level

The trace level defaults to ClientDataSource.TRACE_ALL. The tracing can be changed by calling the setTraceLevel(int level) method or setting the URL attribute traceLevel, as shown below.

String url = "jdbc:derby://myhost.mydomain.com:1528/mydb" +
 ";traceFile=/u/user1/trace.out" +
 ";traceLevel=" +
 org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS;
DriverManager.getConnection(url,"user1","secret4me");



 This table lists the available tracing levels and values.

 Trace Level
Value

org.apache.derby.jdbc.ClientDataSource.TRACE_NONE
 0x0

 org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTION_CALLS
 0x1

 org.apache.derby.jdbc.ClientDataSource.TRACE_STATEMENT_CALLS
 0x2

 org.apache.derby.jdbc.ClientDataSource.TRACE_RESULT_SET_CALLS
 0x4

 org.apache.derby.jdbc.ClientDataSource.TRACE_DRIVER_CONFIGURATION
 0x10

 org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTS
 0x20

 org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS
 0x40

 org.apache.derby.jdbc.ClientDataSource.TRACE_RESULT_SET_META_DATA
 0x80

 org.apache.derby.jdbc.ClientDataSource.TRACE_PARAMETER_META_DATA
 0x100

 org.apache.derby.jdbc.ClientDataSource.TRACE_DIAGNOSTICS
 0x200

 org.apache.derby.jdbc.ClientDataSource.TRACE_XA_CALLS
 0x800

 org.apache.derby.jdbc.ClientDataSource.TRACE_ALL
 0xFFFFFFFF;

To specify more than one trace , use one of these techniques:
â Use bitwise OR (|) operators with two or more trace values. For example, to trace PROTOCOL flows and connection calls, specify this value for traceLevel:
TRACE_PROTOCOL_FLOWS|TRACE_CONNECTION_CALLS
â Use a bitwise complement ( ~ ) operator with a trace value to specify all except a certain trace. For example, to trace everything except PROTOCOL flows, specify this value for traceLevel:
~TRACE_PROTOCOL_FLOWS


Security

Derby network client allows you to select a security mechanism by specifying a value for the securityMechanism property. You can set this property in one of the following ways:
â When using the DriverManager interface, set securityMechanism in a java.util.Properties object before you invoke the form of the getConnection method which includes the java.util.Properties parameter.
â When using the DataSource interface, and you are creating and deploying your own DataSource objects, invoke the DataSource.setSecurityMechanism method after you create a DataSource object.


The table below lists the security mechanisms the Derby network client supports, and the corresponding property value to specify to obtain this securityMechanism. The default security mechanism is the user ID only if no password is set and User ID and password if password is set. The default user, if none is specified is APP.

 Security mechanisms supported by the Derby network client

Security mechanism
securityMechanism property value
Comments

User ID and password
 ClientDataSource.CLEAR_TEXT_PASSWORD_SECURITY (0x03)
 Default if password is set

 User ID only
 ClientDataSource.USER_ONLY_SECURITY (0x04)
 Default if password is not set

Encrypted user ID and encrypted password
ClientDataSource.ENCRYPTED_USER_AND_PASSWORD_SECURITY (0x09)
Encryption requires a JCE Implementation that supports Diffie-Helman algorithm with a prime of 32 bytes


Packaging, Distribution and Versioning

The Derby network client will assume the version of the Derby release in which it is offered (currently thought to be 10.1).

A new jar file, derbyclient.jar, needs to be added to the distribution, which will contain the client classes. The client classpath will require only derbyclient.jar to access the server. Demo programs and server framework batch files and scripts will need to be changed to use the Derby network client.

 Comparision and/or differences with the Derby Embedded Driver

The following known differences exist between the embedded driver and the network client driver. Many of these are already documented as Network Server differences at http://incubator.apache.org/derby/manuals/admin/hubprnt19.html#HDRSII- APPS-. Three differences that are listed in the server guide are not relevant with the network client. XA is supported, error messages are retrieved by default and user/password are not required. Below is a summary of the differences.
â Error messages and SQLStates are sometimes different and are sometimes null on the client, particularly for data conversion errors.
â Multiple SQL Exceptions and Warnings will only return a single Exception on the client. It will have the SQLState of the first exception and in the text will have the text of the additional Exceptions appended.
â There are no localized error messages for the client.
â The client driver has not been tested under security manager.
â The client driver fully materializes LOBS when the row is retrieved.
â Scrollable cursors (ResultSet.TYPE_SCROLL_SENSITIVE or ResultSet.TYPE_SCROLL_INSENSITIVE) are not supported if the resultset contains LOB data. TYPE_FORWARD_ONLY must be specified for result sets containing LOB data.
â To use encrypted user id and password, you need to have IBM JCE (Java Cryptography Extension) 1.2.1 or later. (DERBY-65)


 Effects to existing documentation

The following Derby Manuals should be updated to include the new client driver. The Server Guide, Tools and Getting Started guides at least will be affected. Currently they document using the network server with the IBM DB2 Universal JDBC Driver. In general, the current documentation is relevant to the new driver except for the items listed below.

 URL

Derby Network Client URL
Documented URL

jdbc:derby://server[:port]/databaseName[;attributeKey=value]..
jdbc:derby:net//server[:port]/databaseName[; embeddedAttributeKey=value]..:clientAttributeKey=value;.


 Driver and DataSource Names

JDBC Interface
Derby Network Client
Documented Class Name

java.sql.Driver
 org.apache.derby.jdbc.ClientDriver
 com.ibm.db2.jcc.DB2Driver

 javax.sql.DataSource
 org.apache.derby.jdbc.ClientDataSource
 com.ibm.db2.jcc.DB2DataSource

 javax.sql.XADataSource
 org.apache.derby.jdbc.ClientXADataSource
 com.ibm.db2.jcc.DB2XADataSource

 javax.sql.ConnectionPoolDataSource
 org.apache.derby.jdbc.ClientConnectionPoolDataSource
 com.ibm.db2.jcc.DB2ConnectionPoolDataSource

 Miscellaneous Changes

Â
Derby Network Client
Documented

jar file name
 derbyclient.jar
 db2jcc.jar, db2jcc_licence_c.jar

 attribute to retrieve message text*
 retrieveMessageText (default true)
 retrieveMessagesFromServerOnGetMessage (default false)

 required datasource property settings
 databaseName only required property
 requires databaseName, serverName,driverType, user, password

*Note: The retrieveMessageText attribute should not be included in most of the examples as it now defaults to true.

Client data source properties, tracing and security needs to be documented as described above.

 Miscellaneous

Tools

ij will recognize the new URL and load the driver automatically. dblook will accept the client URL. sysinfo has been changed to locate the new jar file.

 Testing

You can run the client regression tests by running the suite derbynetclientmats. You can run individual tests with the client framework by setting the framework system property to DerbyNetClient. An example of this is shown below.
java -Dframework=DerbyNetClient org.apache.derbyTesting.functionTests.harness.RunTest lang/supersimple.sql


 You can run the Derby network client test suite as follows:

java org.apache.derbyTesting.functionTests.harness.RunSuite derbynetclientmats
Index: tools/ant/properties/dirs.properties
===================================================================
--- tools/ant/properties/dirs.properties (revision 161156)
+++ tools/ant/properties/dirs.properties (working copy)
@@ -34,6 +34,7 @@


 derby.engine.src.dir=${derbysrc.dir}/engine
 derby.drda.src.dir=${derbysrc.dir}/drda
+derby.client.src.dir=${derbysrc.dir}/client
 derby.tools.src.dir=${derbysrc.dir}/tools
 derby.build.src.dir=${derbysrc.dir}/build
 derby.demo.src.dir=${derbysrc.dir}/demo
@@ -42,6 +43,7 @@

derby.engine.dir=${derby.engine.src.dir}/${derby.dir}
derby.drda.dir=${derby.drda.src.dir}/${derby.dir}
+derby.client.dir=${derby.client.src.dir}/{derby.dir}
derby.tools.dir=${derby.tools.src.dir}/${derby.dir}
derby.build.dir=${derby.build.src.dir}/org/apache/derbyBuild
derby.locales.dir=${derby.engine.dir}/loc
Index: java/testing/README.htm
===================================================================
--- java/testing/README.htm (revision 161156)
+++ java/testing/README.htm (working copy)
@@ -1,1189 +1,2159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
+xmlns="http://www.w3.org/TR/REC-html40";>
+
<head>
- <meta content="text/html; charset=ISO-8859-1"
- http-equiv="content-type">
- <title>readme.htm</title>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 10">
+<meta name=Originator content="Microsoft Word 10">
+<link rel=File-List href="README_files/filelist.xml">
+<title>readme.htm</title>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="date"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="City"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="State"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="place"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="time"/>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Author>IBM_User</o:Author>
+ <o:LastAuthor>IBM_User</o:LastAuthor>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>4</o:TotalTime>
+ <o:Created>2005-04-07T04:38:00Z</o:Created>
+ <o:LastSaved>2005-04-07T04:42:00Z</o:LastSaved>
+ <o:Pages>1</o:Pages>
+ <o:Words>4678</o:Words>
+ <o:Characters>26668</o:Characters>
+ <o:Company>IBM</o:Company>
+ <o:Lines>222</o:Lines>
+ <o:Paragraphs>62</o:Paragraphs>
+ <o:CharactersWithSpaces>31284</o:CharactersWithSpaces>
+ <o:Version>10.6714</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:SpellingState>Clean</w:SpellingState>
+ <w:GrammarState>Clean</w:GrammarState>
+ <w:Compatibility>
+ <w:ApplyBreakingRules/>
+ <w:UseFELayout/>
+ </w:Compatibility>
+ <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]--><!--[if !mso]><object
+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
+<style>
+st1\:*{behavior:url(#ieooui) }
+</style>
+<![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Wingdings;
+ panose-1:5 0 0 0 0 0 0 0 0 0;
+ mso-font-charset:2;
+ mso-generic-font-family:auto;
+ mso-font-pitch:variable;
+ mso-font-signature:0 268435456 0 0 -2147483648 0;}
[EMAIL PROTECTED]
+ {font-family:SimSun;
+ panose-1:2 1 6 0 3 1 1 1 1 1;
+ mso-font-alt:\5B8B\4F53;
+ mso-font-charset:134;
+ mso-generic-font-family:auto;
+ mso-font-pitch:variable;
+ mso-font-signature:3 135135232 16 0 262145 0;}
[EMAIL PROTECTED]
+ {font-family:"[EMAIL PROTECTED]";
+ panose-1:2 1 6 0 3 1 1 1 1 1;
+ mso-font-charset:134;
+ mso-generic-font-family:auto;
+ mso-font-pitch:variable;
+ mso-font-signature:3 135135232 16 0 262145 0;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:SimSun;}
+h1
+ {mso-margin-top-alt:auto;
+ margin-right:0in;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ mso-outline-level:1;
+ font-size:24.0pt;
+ font-family:"Times New Roman";
+ font-weight:bold;}
+h2
+ {mso-margin-top-alt:auto;
+ margin-right:0in;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ mso-outline-level:2;
+ font-size:18.0pt;
+ font-family:"Times New Roman";
+ font-weight:bold;}
+h3
+ {mso-margin-top-alt:auto;
+ margin-right:0in;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ mso-outline-level:3;
+ font-size:13.5pt;
+ font-family:"Times New Roman";
+ font-weight:bold;}
+p
+ {mso-margin-top-alt:auto;
+ margin-right:0in;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:SimSun;}
+span.SpellE
+ {mso-style-name:"";
+ mso-spl-e:yes;}
+span.GramE
+ {mso-style-name:"";
+ mso-gram-e:yes;}
[EMAIL PROTECTED] Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+ /* List Definitions */
+ @list l0
+ {mso-list-id:1251028;
+ mso-list-template-ids:27700226;}
[EMAIL PROTECTED] l0:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l0:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:"Courier New";
+ mso-bidi-font-family:"Times New Roman";}
[EMAIL PROTECTED] l1
+ {mso-list-id:122038099;
+ mso-list-template-ids:-1433876078;}
[EMAIL PROTECTED] l1:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l2
+ {mso-list-id:169027477;
+ mso-list-template-ids:-1973884710;}
[EMAIL PROTECTED] l3
+ {mso-list-id:175727143;
+ mso-list-template-ids:-2134076004;}
[EMAIL PROTECTED] l3:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l4
+ {mso-list-id:260646577;
+ mso-list-type:hybrid;
+ mso-list-template-ids:47117188 67698691 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
[EMAIL PROTECTED] l4:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ margin-left:1.0in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l5
+ {mso-list-id:300963081;
+ mso-list-template-ids:2101672862;}
[EMAIL PROTECTED] l5:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:1.5in;
+ mso-level-number-position:left;
+ margin-left:1.5in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l5:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:2.0in;
+ mso-level-number-position:left;
+ margin-left:2.0in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l5:level3
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:2.5in;
+ mso-level-number-position:left;
+ margin-left:2.5in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l5:level4
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:3.0in;
+ mso-level-number-position:left;
+ margin-left:3.0in;
+ text-indent:-.25in;
+ font-family:Symbol;}
[EMAIL PROTECTED] l5:level5
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:3.5in;
+ mso-level-number-position:left;
+ margin-left:3.5in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l5:level6
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:4.0in;
+ mso-level-number-position:left;
+ margin-left:4.0in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l5:level7
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:4.5in;
+ mso-level-number-position:left;
+ margin-left:4.5in;
+ text-indent:-.25in;
+ font-family:Symbol;}
[EMAIL PROTECTED] l5:level8
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:5.0in;
+ mso-level-number-position:left;
+ margin-left:5.0in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l5:level9
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:5.5in;
+ mso-level-number-position:left;
+ margin-left:5.5in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l6
+ {mso-list-id:303386825;
+ mso-list-template-ids:47117188;}
[EMAIL PROTECTED] l6:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ margin-left:1.0in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l6:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.5in;
+ mso-level-number-position:left;
+ margin-left:1.5in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l6:level3
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:2.0in;
+ mso-level-number-position:left;
+ margin-left:2.0in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l6:level4
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:2.5in;
+ mso-level-number-position:left;
+ margin-left:2.5in;
+ text-indent:-.25in;
+ font-family:Symbol;}
[EMAIL PROTECTED] l6:level5
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:3.0in;
+ mso-level-number-position:left;
+ margin-left:3.0in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l6:level6
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:3.5in;
+ mso-level-number-position:left;
+ margin-left:3.5in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l6:level7
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:4.0in;
+ mso-level-number-position:left;
+ margin-left:4.0in;
+ text-indent:-.25in;
+ font-family:Symbol;}
[EMAIL PROTECTED] l6:level8
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:4.5in;
+ mso-level-number-position:left;
+ margin-left:4.5in;
+ text-indent:-.25in;
+ font-family:"Courier New";}
[EMAIL PROTECTED] l6:level9
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:5.0in;
+ mso-level-number-position:left;
+ margin-left:5.0in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l7
+ {mso-list-id:321079697;
+ mso-list-template-ids:285398786;}
[EMAIL PROTECTED] l7:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l8
+ {mso-list-id:332493851;
+ mso-list-template-ids:421552426;}
[EMAIL PROTECTED] l8:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l8:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:"Courier New";
+ mso-bidi-font-family:"Times New Roman";}
[EMAIL PROTECTED] l8:level3
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:1.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l8:level4
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:2.0in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l9
+ {mso-list-id:377556322;
+ mso-list-template-ids:575036220;}
[EMAIL PROTECTED] l9:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l10
+ {mso-list-id:439029018;
+ mso-list-template-ids:-1131543626;}
[EMAIL PROTECTED] l10:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l11
+ {mso-list-id:461465900;
+ mso-list-template-ids:658283634;}
[EMAIL PROTECTED] l11:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l12
+ {mso-list-id:481192588;
+ mso-list-type:hybrid;
+ mso-list-template-ids:2101672862 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
[EMAIL PROTECTED] l12:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0A7;
+ mso-level-tab-stop:1.5in;
+ mso-level-number-position:left;
+ margin-left:1.5in;
+ text-indent:-.25in;
+ font-family:Wingdings;}
[EMAIL PROTECTED] l13
+ {mso-list-id:691029681;
+ mso-list-template-ids:1587728578;}
[EMAIL PROTECTED] l13:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l14
+ {mso-list-id:816066815;
+ mso-list-template-ids:-1552284938;}
[EMAIL PROTECTED] l14:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l14:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:"Courier New";
+ mso-bidi-font-family:"Times New Roman";}
[EMAIL PROTECTED] l15
+ {mso-list-id:869486718;
+ mso-list-template-ids:2129824680;}
[EMAIL PROTECTED] l15:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l16
+ {mso-list-id:1290086840;
+ mso-list-template-ids:1978430556;}
[EMAIL PROTECTED] l16:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l17
+ {mso-list-id:1347486083;
+ mso-list-template-ids:1712613156;}
[EMAIL PROTECTED] l17:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l18
+ {mso-list-id:1476600082;
+ mso-list-template-ids:-521917396;}
[EMAIL PROTECTED] l18:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l19
+ {mso-list-id:1806464445;
+ mso-list-template-ids:1589904280;}
[EMAIL PROTECTED] l19:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
[EMAIL PROTECTED] l19:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:1.0in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:"Courier New";
+ mso-bidi-font-family:"Times New Roman";}
[EMAIL PROTECTED] l20
+ {mso-list-id:1884713887;
+ mso-list-template-ids:-176255094;}
[EMAIL PROTECTED] l20:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:.5in;
+ mso-level-number-position:left;
+ text-indent:-.25in;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
+ol
+ {margin-bottom:0in;}
+ul
+ {margin-bottom:0in;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+ {mso-style-name:"Table Normal";
+ mso-tstyle-rowband-size:0;
+ mso-tstyle-colband-size:0;
+ mso-style-noshow:yes;
+ mso-style-parent:"";
+ mso-padding-alt:0in 5.4pt 0in 5.4pt;
+ mso-para-margin:0in;
+ mso-para-margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:10.0pt;
+ font-family:"Times New Roman";}
+</style>
+<![endif]-->
</head>
-<body>
-<h1><a class="mozTocH1" name="mozTocId934928"></a>Derby Functional Tests<br>
-</h1>
-<h2><a class="mozTocH2" name="mozTocId504000"></a>Package:
-org.apache.derbyTesting<!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6--><br>
-</h2>
-<p>
-<small>created by [EMAIL PROTECTED]<br>
-last updated on 12/02/2004 by: [EMAIL PROTECTED]<br>
-</small>
-</p>
-<ul>
- <li><a href="#intro">1. Introduction</a></li>
- <li><a href="#quickstart">2. Quickstart</a></li>
- <li style="margin-left: 40px;"><a
- href="#2.1_running_with_derby_classes_">2.1 running tests<br>
- </a></li>
- <li style="margin-left: 40px;"><a
- href="#building_derbyTesting__running_with">2.2 building
-derbyTesting package</a><br>
- </li>
- <li><a href="#run">3. More details on running the derby functional
-tests</a></li>
- <li style="margin-left: 40px;"><a href="#run1">3.1 Running 1 test</a></li>
- <li style="margin-left: 40px;"><a href="#run2">3.2 Running suites of
-tests</a></li>
- <li><a href="#overview">4. Harness internals for developers</a> </li>
- <li style="margin-left: 40px;"><a href="#ov1">4.1 Test types</a></li>
- <li style="margin-left: 40px;"><a href="#ov2">4.2 Supporting files
-for tests</a></li>
- <li style="margin-left: 40px;"><a href="#ov3">4.3
-&lt;testname&gt;_app.properties</a></li>
- <li style="margin-left: 40px;"><a href="#ov4">4.4
-&lt;testname&gt;_derby.properties</a></li>
- <li style="margin-left: 40px;"><a href="#ov5">4.5 tmp files, out
-files, master files, and canons</a></li>
- <li style="margin-left: 40px;"><a href="#ov6">4.6 Masking and
-comparing</a></li>
- <li style="margin-left: 40px;"><a href="#Adding_a_new_test">4.7
-Adding a new test</a></li>
- <li style="margin-left: 40px;"><a
- href="#4.8_Suites_and_Adding_a_new_suite">4.8 Suites and adding a
-new suite</a></li>
- <li style="margin-left: 40px;"><a href="#ov9">4.9 Running with a new
-jvm</a></li>
- <li style="margin-left: 40px;"><a href="#skipping">4.10 Skipping a
-test</a></li>
- <li style="margin-left: 40px;"><a href="#frameworks">4.11 Frameworks</a></li>
- <li style="margin-left: 40px;"><a href="#props">4.12 Some test
-harness properties</a> </li>
+
+<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<h1><a name=mozTocId934928></a><st1:City><st1:place>Derby</st1:place></st1: City>
+Functional Tests</h1>
+
+<h2><a name=mozTocId504000></a>Package: <span class=SpellE>org.apache.derbyTesting</span><!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6--></h2>
+
+<p><span class=GramE><span style='font-size:10.0pt'>created</span></span><span
+style='font-size:10.0pt'> by [EMAIL PROTECTED]<br>
+last updated on </span><st1:date Year="2004" Day="2" Month="12"><span
+ style='font-size:10.0pt'>12/02/2004</span></st1:date><span style='font-size:
+10.0pt'> by: [EMAIL PROTECTED]</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l10 level1 lfo1;tab-stops:list .5in'><a href="#intro">1.
+ Introduction</a></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l10 level1 lfo1;tab-stops:list .5in'><a href="#quickstart">2. <span
+ class=SpellE>Quickstart</span></a></li>
</ul>
-<br>
-<h2>1. <a name="intro"></a>Introduction</h2>
-<p>
-This document describes functionality of the derby
-functional testing package org.apache.derbyTesting. This package is
-based on the functional tests in use at IBM for testing the Cloudscape
-product before its contribution to ASF.</p>
-<p>In the following, instructions are geared towards a unix
-environment. For other environments, some details may need to be
-adjusted. For instance, the document may
-refer to $ANT_HOME, for DOS, this would be %ANT_HOME%.<br>
-</p>
-<p>In the following the top
-directory under which the subversion tree is placed is referred to as
-${derby.source} - see also the
-derby <a href="http://incubator.apache.org/derby/BUILDING.html";>BUILDING.txt</ a>.<br>
-</p>
-<p>The version of the classes and supporting files of the derbyTesting
-package have to match the version of the classes of the derby package.
-Thus you either need to build all jars yourself, or get all jar files
-from the incubator site at the same time when available. <br>
-<br>
-</p>
-<span style="font-weight: bold;">
-</span>
-<h2><a class="mozTocH2" name="mozTocId191589"></a>2. <a
- name="quickstart"></a>QuickStart<br>
-</h2>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a
+href="#2.1_running_with_derby_classes_">2.1 running tests<br>
+</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a
+href="#building_derbyTesting__running_with">2.2 building <span class=SpellE>derbyTesting</span>
+package</a></span></p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l10 level1 lfo1;tab-stops:list .5in'><a href="#run">3. More
+ details on running the derby functional tests</a></li>
+</ul>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#run1">3.1 Running 1 test</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#run2">3.2 Running suites
+of tests</a></span></p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l10 level1 lfo1;tab-stops:list .5in'><a href="#overview">4.
+ Harness internals for developers</a> </li>
+</ul>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov1">4.1 Test types</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov2">4.2 Supporting
+files for tests</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov3">4.3 &lt;<span
+class=SpellE>testname</span>&gt;_<span class=SpellE>app.properties</span></a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov4">4.4 &lt;<span
+class=SpellE>testname</span>&gt;_<span class=SpellE>derby.properties</span></a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov5">4.5 <span
+class=SpellE>tmp</span> files, out files, master files, and canons</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov6">4.6 Masking and
+comparing</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#Adding_a_new_test">4.7
+Adding a new test</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a
+href="#4.8_Suites_and_Adding_a_new_suite">4.8 Suites and adding a new suite</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#ov9">4.9 Running with a
+new <span class=SpellE>jvm</span></a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#skipping">4.10 Skipping
+a test</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#frameworks">4.11
+Frameworks</a></span></p>
+
+<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+margin-left:71.1pt;text-indent:-.25in;mso-list:l10 level1 lfo1;tab-stops:list .5in'><![if !supportLists]><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
+mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+style='mso-list:Ignore'>Â<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span dir=LTR><a href="#props">4.12 Some test
+harness properties</a> </span></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h2>1. <a name=intro></a>Introduction</h2>
+
+<p>This document describes functionality of the derby functional testing
+package <span class=SpellE>org.apache.derbyTesting</span>. This package is based
+on the functional tests in use at IBM for testing the Cloudscape product before
+its contribution to ASF.</p>
+
+<p>In the following, instructions are geared towards a <span class=SpellE><span
+class=GramE>unix</span></span> environment. For other environments, some
+details may need to be adjusted. For instance, the document may refer to
+$ANT_HOME, for DOS, this would be %ANT_HOME%.</p>
+
+<p>In the following the top directory under which the subversion tree is placed
+is referred to as ${<span class=SpellE>derby.source</span>} - see also the
+derby <a href="http://incubator.apache.org/derby/BUILDING.html";>BUILDING.txt</ a>.</p>
+
+<p style='margin-bottom:12.0pt'>The <span class=GramE>version of the classes
+and supporting files of the <span class=SpellE>derbyTesting</span> package have</span>
+to match the version of the classes of the derby package. Thus you either need
+to build all jars yourself, or get all jar files from the incubator site at the
+same time when available. </p>
+
+<h2><a name=mozTocId191589></a>2. <a name=quickstart></a><span class=SpellE>QuickStart</span></h2>
+
<h3><a name="2.1_running_with_derby_classes_"></a>2.1 running tests</h3>
-<p>
-The derbyTesting package enables you to run 1 test or a suite of tests.
-Before you can run, you need to setup your environment:<br>
-</p>
-<ul>
- <li>Obtain a jdk or jre (based on jdk 1.3.1 specification or higher).
-Add the bin directory to your $PATH. Currently supported are:<br>
- </li>
+
+<p>The <span class=SpellE>derbyTesting</span> package enables you to run 1 test
+or a suite of tests. Before you can run, you need to setup your environment:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l16 level1 lfo2;tab-stops:list .5in'>Obtain a <span class=SpellE>jdk</span>
+ or <span class=SpellE>jre</span> (based on <span class=SpellE>jdk</span>
+ 1.3.1 specification or higher). Add the bin directory to your $PATH.
+ Currently supported are:</li>
</ul>
-<table
- style="text-align: left; width: 497px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>&nbsp;&nbsp;&nbsp; jdk131
-- Sun
-HotSpot jdk1.3.1</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk141 - Sun HotSpot jdk1.4.1</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk142 - Sun HotSpot jdk1.4.2</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk15 - Sun HotSpot jdk1.5</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm131 - IBM Classic jdk1.3.1</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm141 - IBM Classic jdk1.4.1</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm142 - IBM Classic jdk1.4.2</small><br>
- <small>&nbsp;&nbsp;&nbsp; j9_13 - WCTME jvm (available with IBM
-Websphere Client Technology Micro Edition) <br>
- </small></td>
- </tr>
- </tbody>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=582 style='width:436.4pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk131 -
+ Sun <span class=SpellE>HotSpot</span> jdk1.3.1</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk141 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.4.1</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk142 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.4.2</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk15 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.5</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm131 - IBM Classic
+ jdk1.3.1</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm141 - IBM Classic
+ jdk1.4.1</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm142 - IBM Classic
+ jdk1.4.2</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; j9_13 - WCTME <span
+ class=SpellE>jvm</span> (available with IBM <span class=SpellE>Websphere</span>
+ Client Technology Micro Edition) </span></p>
+ </td>
+ </tr>
</table>
-<ul>
- <li>set $CLASSPATH to include the following jars:</li>
- <ul>
- <li><small>jakarta-oro-2.0.8.jar</small></li>
- <small>&nbsp;&nbsp;&nbsp; oromatcher, obtain from <a
- href="http://jakarta.apache.org/oro/index.html";>http:// jakarta.apache.org/oro/index.html</a>,
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l14 level1 lfo3;tab-stops:list .5in'>set $CLASSPATH to include
+ the following jars:</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span
+ style='font-size:10.0pt'>jakarta-oro-2.0.8.jar</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=SpellE><span class=GramE>oromatcher</span></span>, obtain from <a
+href="http://jakarta.apache.org/oro/index.html";>http:// jakarta.apache.org/oro/index.html</a>,
or follow this link for <a
- href="http://apache.roweboat.net/jakarta/oro/source/jakarta-oro -2.0.8.zip">zip</a>
+href="http://apache.roweboat.net/jakarta/oro/source/jakarta-oro -2.0.8.zip">zip</a>
file, or <a
- href="http://apache.roweboat.net/jakarta/oro/source/jakarta-oro -2.0.8.tar.gz">tar</a>.gz)</small><li><small>derbyTesting.jar<br>
- </small></li>
- </ul>
- <ul>
- <small>&nbsp;&nbsp;&nbsp;&nbsp; test files and classes</small><li><small>derby.jar<br>
- </small></li>
- <small>&nbsp;&nbsp;&nbsp; main derby package classes</small><li><small>derbytools.jar<br>
- </small></li>
- <small>&nbsp;&nbsp;&nbsp; derby tools classes for tools like ij
-and dblook</small><li><small>derbynet.jar<br>
- </small></li>
- <small>&nbsp;&nbsp;&nbsp; derby network server classes</small><li><small>db2jcc.jar
-and db2jcc_license_c.jar <br>
- </small></li>
- <small>&nbsp;&nbsp;&nbsp; IBM Universal JDBC Driver classes. (See
-IBM <a href="http://www-106.ibm.com/developerworks/db2/downloads/ jcc/">developerworks</a>
-for download)</small><br>
- <li><small>derbyLocale_*.jar</small></li>
- <small>&nbsp;&nbsp;&nbsp; locale files holding translated messages.</small><br>
- </ul>
+href="http://apache.roweboat.net/jakarta/oro/source/jakarta-oro -2.0.8.tar.gz"><span
+class=SpellE>tar</span></a><span class=SpellE>.gz</span>)</span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span class=SpellE><span
+ style='font-size:10.0pt'>derbyTesting.jar</span></span></li>
+ </ul>
</ul>
-<small></small>
-<ul>
- <ul>
- </ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;
+<span class=GramE>test</span> files and classes</span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span class=SpellE><span
+ style='font-size:10.0pt'>derby.jar</span></span></li>
+ </ul>
</ul>
-<p>
-For example:<br>
-</p>
-<div style="margin-left: 40px;">
-<table style="text-align: left; width: 484px; height: 32px;" border="1"
- cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>(note that $jardir is
-only a convenience variable and that the command below has carriage
-returns for formatting reasons):<br>
- </small><small>set jardir=/local/derbyjar<br>
-set
-CLASSPATH="$jardir/derby.jar:$jardir/derbytools.jar:$jardir/ derbynet.jar:$jardir/db2jcc.jar:<br>
-$jardir/db2jcc_license_c.jar:$jardir/derbyTesting.jar:/local/derby/ tools/java/jakarta-oro-2.0.8.jar:<br>
-$jardir/derbyLocale_de_DE.jar:$jardir/derbyLocale_es.jar:$jardir/ derbyLocale_fr.jar:<br>
-$jardir/derbyLocale_it.jar:$jardir/derbyLocale_ja_JP.jar:$jardir/ derbyLocale_ko_KR.jar:<br>
-$jardir/derbyLocale_pt_BR.jar:$jardir/derbyLocale_zh_CN.jar:$jardir/ derbyLocale_zh_TW.jar:<br>
-$CLASSPATH</small><br>
- <small>set PATH=/local/jdk141/bin:$PATH</small><br>
- </td>
- </tr>
- </tbody>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>main</span> derby package classes</span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span class=SpellE><span
+ style='font-size:10.0pt'>derbytools.jar</span></span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>derby</span> tools classes for tools like <span class=SpellE>ij</span>
+and <span class=SpellE>dblook</span></span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span class=SpellE><span
+ style='font-size:10.0pt'>derbynet.jar</span></span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>derby</span> network server classes<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span
+ style='font-size:10.0pt'>derbyclient.jar </span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>derby</span> derby client classes<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span
+ style='font-size:10.0pt'>db2jcc.jar and db2jcc_license_c.jar </span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>IBM Universal JDBC Driver classes.</span> (See IBM <a
+href="http://www-106.ibm.com/developerworks/db2/downloads/jcc/";><span
+class=SpellE>developerworks</span></a> for download)</span></p>
+
+<ul type=disc>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l14 level2 lfo3;tab-stops:list 1.0in'><span class=SpellE><span
+ style='font-size:10.0pt'>derbyLocale</span></span><span style='font-size:
+ 10.0pt'>_*.jar</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;
+<span class=GramE>locale</span> files holding translated messages.</span></p>
+
+<p>For example:</p>
+
+<div style='margin-left:35.1pt'>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=567 style='width:425.0pt;
+ mso-cellspacing:1.5pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>(note that $<span
+ class=SpellE>jardir</span> is only a convenience variable and that the
+ command below has carriage returns for formatting reasons):<br>
+ set <span class=SpellE>jardir</span>=/local/<span class=SpellE>derbyjar</span><br>
+ set CLASSPATH=&quot;$jardir/derby.jar:$jardir/derbytools.jar:$jardir/ derbynet.jar:$jardir/derbyclient.jar:$jardir/db2jcc.jar:<br>
+ $jardir/db2jcc_license_c.jar:$jardir/derbyTesting.jar:/local/derby/ tools/java/jakarta-oro-2.0.8.jar:<br>
+ $jardir/derbyLocale_de_DE.jar:$jardir/derbyLocale_es.jar:$jardir/ derbyLocale_fr.jar:<br>
+ $jardir/derbyLocale_it.jar:$jardir/derbyLocale_ja_JP.jar:$jardir/ derbyLocale_ko_KR.jar:<br>
+ $jardir/derbyLocale_pt_BR.jar:$jardir/derbyLocale_zh_CN.jar:$jardir/ derbyLocale_zh_TW.jar:<br>
+ $CLASSPATH</span><br>
+ <span style='font-size:10.0pt'>set PATH=/local/jdk141/bin:$PATH</span></p>
+ </td>
+ </tr>
</table>
+
</div>
-<p>
-To run 1 test:
-</p>
-<table
- style="text-align: left; width: 514px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">syntax:<br>
-&nbsp;&nbsp;&nbsp; <small>java
--D&lt;testproperty&gt;
-org.apache.derbyTesting.functionTests.harness.RunTest
-&lt;testdir&gt;/&lt;testname&gt;</small><br>
- <small>where <br>
- </small>
- <ul>
- <li><small>&nbsp;&nbsp; &lt;testproperty&gt; are test specific
-properties, such as
-'framework' for the RunTest class. </small></li>
- <li><small>&nbsp;&nbsp; &lt;testdir&gt; is one of the
-directories under
-functionTests/tests where the actual test is located</small></li>
- <li><small>&nbsp;&nbsp; &lt;testname&gt; is the actual name of
-the test</small></li>
- </ul>
- <small>examples:<br>
-to run the test supersimple against the embedded driver:<br>
- </small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <small>java
-org.apache.derbyTesting.functionTests.harness.RunTest
-lang/supersimple.sql<br>
- <br>
-To run a test with network server, add -Dframework=DerbyNet to the run.
-The test harness will to start
-network server at port 1527 or connect to a running one, run the test,
-and stop network server thereafter.<br>
-for example:<br>
-&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; java </small><small>-Dframework=DerbyNet
- </small><small>org.apache.derbyTesting.functionTests.harness.RunTest
-lang/supersimple.sql<br>
- </small><small> </small></td>
- </tr>
- </tbody>
+
+<p>To run 1 test: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=602 style='width:451.3pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal>syntax:<br>
+ &nbsp;&nbsp;&nbsp; <span style='font-size:10.0pt'>java -D&lt;<span
+ class=SpellE>testproperty</span>&gt; <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span>
+ &lt;<span class=SpellE>testdir</span>&gt;/&lt;<span class=SpellE>testname</span>&gt;</span><br>
+ <span style='font-size:10.0pt'>where </span></p>
+ <ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l9 level1 lfo5;tab-stops:list .5in'><span
+ style='font-size:10.0pt'>&nbsp;&nbsp; &lt;<span class=SpellE><span
+ class=GramE>testproperty</span></span>&gt; are test specific properties,
+ such as 'framework' for the <span class=SpellE>RunTest</span> class. </span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l9 level1 lfo5;tab-stops:list .5in'><span
+ style='font-size:10.0pt'>&nbsp;&nbsp; &lt;<span class=SpellE>testdir</span>&gt;
+ is one of the directories under <span class=SpellE>functionTests</span>/tests
+ where the actual test is located</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l9 level1 lfo5;tab-stops:list .5in'><span
+ style='font-size:10.0pt'>&nbsp;&nbsp; &lt;<span class=SpellE>testname</span>&gt;
+ is the actual name of the test</span></li>
+ </ul>
+ <p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>examples</span></span><span
+ style='font-size:10.0pt'>:<br>
+ to run the test <span class=SpellE>supersimple</span> against the embedded
+ driver:<br>
+ </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='font-size:10.0pt'>java <span
+ class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span> <span
+ class=SpellE>lang/supersimple.sql</span><br>
+ <br>
+ To run a test with network server, add -<span class=SpellE>Dframework</span>=<span
+ class=SpellE>DerbyNet</span> to the run. The test harness will to start
+ network server at port 1527 or connect to a running one, run the test, and
+ stop network server thereafter.<br>
+ for example:<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; java -<span class=SpellE>Dframework</span>=<span
+ class=SpellE>DerbyNet</span> <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span>
+ <span class=SpellE>lang/supersimple.sql</span></span></p>
+ </td>
+ </tr>
</table>
-<p>
-A successful run will have a .pass file, and the output to the
-console will show no difference between expected and actual test
-result. A failed test run will have at least a .fail file and the
-output to the console will show the difference between expected and
-actual result.<br>
-</p>
-<p>
-To run a suite:
-</p>
-<table
- style="text-align: left; width: 546px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">syntax:<br>
-&nbsp; <small>java
--D&lt;testproperty&gt;
-org.apache.derbyTesting.functionTests.harness.RunSuite&nbsp;
-&lt;testsuite&gt;</small><br>
- <small>where <br>
- </small>
- <ul>
- <li><small>&nbsp;&nbsp; &lt;testproperty&gt; are test specific
-properties, such as
-'verbose' for the RunSuite class. </small></li>
- <li><small>&nbsp;&nbsp; &lt;testsuite&gt; is one of the suites
-under
-org/apache/derbyTesting/suites</small></li>
- </ul>
- <small>for example for running&nbsp; the suite derbylang:<br>
- </small><small>&nbsp;&nbsp; java -Dverbose=true
-org.apache.derbyTesting.functionTests.harness.RunSuite derbylang</small><br>
- </td>
- </tr>
- </tbody>
+
+<p>A successful run will have a .pass file, and the output to the console will
+show no difference between expected and actual test result. A failed test run
+will have at least a .fail file and the output to the console will show the
+difference between expected and actual result.</p>
+
+<p>To run a suite: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=639 style='width:479.4pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal>syntax:<br>
+ &nbsp; <span style='font-size:10.0pt'>java -D&lt;<span class=SpellE>testproperty</span>&gt;
+ <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunSuite</ span>&nbsp;
+ &lt;<span class=SpellE>testsuite</span>&gt;</span><br>
+ <span style='font-size:10.0pt'>where </span></p>
+ <ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l15 level1 lfo6;tab-stops:list .5in'><span
+ style='font-size:10.0pt'>&nbsp;&nbsp; &lt;<span class=SpellE><span
+ class=GramE>testproperty</span></span>&gt; are test specific properties,
+ such as 'verbose' for the <span class=SpellE>RunSuite</span> class. </span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l15 level1 lfo6;tab-stops:list .5in'><span
+ style='font-size:10.0pt'>&nbsp;&nbsp; &lt;<span class=SpellE>testsuite</span>&gt;
+ is one of the suites under org/apache/<span class=SpellE>derbyTesting</span>/suites</span></li>
+ </ul>
+ <p class=MsoNormal><span style='font-size:10.0pt'>for example for
+ running&nbsp; the suite <span class=SpellE>derbylang</span>:<br>
+ &nbsp;&nbsp; java -<span class=SpellE>Dverbose</span>=true <span
+ class=SpellE>org.apache.derbyTesting.functionTests.harness.RunSuite</ span> <span
+ class=SpellE>derbylang</span></span></p>
+ </td>
+ </tr>
</table>
-<p>
-Each suite run should be started in a clean directory. The test
-output directory will not be emptied out before testing is
-begun, although individual test files and result files will be cleaned
-out and overwritten.&nbsp;
-</p>
-<p>
-The suites provided are:
-</p>
-<ul>
- <li>derbylang: <br>
- </li>
- <ul>
- <li>basic functionality of&nbsp;
-language implementation in derby. <br>
- </li>
- <li>Mostly .sql type tests. <br>
- </li>
- <li>tested on a variety of hardware takes from 1.15m to 2.00 hours<br>
- </li>
+
+<p>Each suite run should be started in a clean directory. The test output
+directory will not be emptied out before testing is begun, although individual
+test files and result files will be cleaned out and overwritten.&nbsp; </p>
+
+<p>The suites provided are: </p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbylang</span>:
+ </li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>basic</span>
+ functionality of&nbsp; language implementation in derby. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>Mostly .<span
+ class=SpellE>sql</span> type tests. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from 1.15m to 2.00 hours</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbynetclientmats</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>basic</span>
+ derby network server tests using derby client</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>variety of tests,
+ including some from <span class=SpellE>derbylang</span> suite</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from 15 to 30 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbynetmats</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>basic</span>
+ network server tests using IBM JDBC driver</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>variety of tests,
+ including some from <span class=SpellE>derbylang</span> suite</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from 15 to 30 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbynetautostart</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests <span
+ class=SpellE>networkserver</span> functionality without requiring <span
+ class=SpellE>networkserver</span> framework</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>propertyinfo</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>runs test to get
+ property information</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>storeall</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests for storage area</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>includes:</li>
+ <ul type=square>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE><span
+ class=GramE>storemats</span></span>: most basic quick verification
+ tests.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>storemore</span>:
+ more extensive storage tests</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>storetests</span>:
+ set of store tests grouped together because they do not each need to
+ create a new database</li>
</ul>
- <li>derbynetmats</li>
- <ul>
- <li>basic network server tests.</li>
- <li>variety of tests, including some from derbylang suite</li>
- <li>tested on a variety of hardware takes from 15 to 30 minutes</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from 25 to 50 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>xa</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>tests</span>
+ the <span class=SpellE>xa</span> implementation. There is both a storage
+ and language element to these tests</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from <st1:time Minute="0" Hour="14">2</st1:time> to 4
+ minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>storeunit</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>tests</span>
+ store-related unit tests. Runs from <st1:time Minute="0" Hour="8">8</st1:time>
+ to 15 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>unit </li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>tests</span>
+ 4 general functionality unit tests. runs from <st1:time Minute="0"
+ Hour="17">5</st1:time> to 10 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>jdbcapi</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>tests</span>
+ implementation of <span class=SpellE>jdbc</span> <span class=SpellE>api</span>
+ such as Connection class implementation, Metadata etc.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes from 20 to 40
+ minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>jdbc20</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests implementation
+ of features from the <span class=SpellE>jdbc</span> 20 specification</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 2 to 5 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>jdk14</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests implementation
+ of features from the jdk14 specification</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 2 to 5 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>demo, <span class=SpellE>simpledemo</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests the <span
+ class=SpellE>SimpleApp</span> example </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=SpellE><span
+ class=GramE>simpledemo</span></span> runs <span class=SpellE>SimpleApp</span>
+ itself - and thus has a different default resource package name (namely,
+ no package) than all the other tests. Hence it needed its own <span
+ class=SpellE>suite.properties</span> file.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 30 to 1 minute</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>nist</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>test obtained from the
+ NIST SQL suite v 6.0</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 5 to 10 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>encryptionAll</span>
+ </li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 30 to 55 minutes</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>runs a few encryption
+ tests plus the following encryption tests suites</li>
+ <ul type=square>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'>encryption</li>
+ <ul type=square>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level4 lfo7;tab-stops:list 2.0in'>runs the <span
+ class=SpellE>storemats</span>, <span class=SpellE>sysinfo</span> and
+ multi suites in encryption scheme <span class=SpellE>DESede</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level4 lfo7;tab-stops:list 2.0in'>takes 25 to 40
+ minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionAES</span>
+ - tests AES encryption scheme</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionBlowfish</span>
+ - tests Blowfish encryption scheme</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionCFB</span>
+ - tests CFB encryption scheme</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionDES</span>
+ - tests DES encryption scheme</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionECB</span>
+ - tests ECB encryption scheme</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level3 lfo7;tab-stops:list 1.5in'><span class=SpellE>encryptionOFB</span>
+ - tests OFB encryption scheme</li>
</ul>
- <li>derbynetautostart</li>
- <ul>
- <li>tests networkserver functionality without requiring
-networkserver framework<br>
- </li>
- </ul>
- <li>propertyinfo</li>
- <ul>
- <li>runs test to get property information<br>
- </li>
- </ul>
- <li>storeall</li>
- <ul>
- <li>tests for storage area</li>
- <li>includes:</li>
- <ul>
- <li>storemats: most basic quick verification tests.<br>
- </li>
- <li>storemore: more extensive storage tests</li>
- <li>storetests: set of store tests grouped together because they
-do not each need to create a new database</li>
- </ul>
- <li>tested on a variety of hardware takes from 25 to 50 minutes<br>
- </li>
- </ul>
- <li>xa</li>
- <ul>
- <li>tests the xa implementation. There is both a storage and
-language element to these tests</li>
- <li>tested on a variety of hardware takes from 2 to 4 minutes<br>
- </li>
- </ul>
- <li>storeunit</li>
- <ul>
- <li>tests store-related unit tests. Runs from 8 to 15 minutes<br>
- </li>
- </ul>
- <li>unit <br>
- </li>
- <ul>
- <li>tests 4 general functionality unit tests. runs from 5 to 10
-minutes<br>
- </li>
- </ul>
- <li>jdbcapi</li>
- <ul>
- <li>tests implementation of jdbc api such as Connection class
-implementation, Metadata etc.</li>
- <li>takes from 20 to 40 minutes<br>
- </li>
- </ul>
- <li>jdbc20<br>
- </li>
- <ul>
- <li>tests implementation of features from the jdbc 20 specification</li>
- <li>takes 2 to 5 minutes<br>
- </li>
- </ul>
- <li>jdk14</li>
- <ul>
- <li>tests implementation of features from the jdk14 specification</li>
- <li>takes 2 to 5 minutes<br>
- </li>
- </ul>
- <li>demo, simpledemo<br>
- </li>
- <ul>
- <li>tests the SimpleApp example <br>
- </li>
- <li>simpledemo runs SimpleApp itself - and thus has a different
-default resource package name (namely, no package) than all the other
-tests. Hence it needed its own suite.properties file.</li>
- <li>takes 30 to 1 minute</li>
- </ul>
- <li>nist</li>
- <ul>
- <li>test obtained from the NIST SQL suite v 6.0</li>
- <li>takes 5 to 10 minutes<br>
- </li>
- </ul>
- <li>encryptionAll <br>
- </li>
- <ul>
- <li>takes 30 to 55 minutes</li>
- <li>runs a few encryption tests plus the following encryption tests
-suites<br>
- </li>
- </ul>
- <ul>
- <ul>
- <li>encryption</li>
- </ul>
- <ul>
- <ul>
- <li>runs the storemats, sysinfo and multi suites in encryption
-scheme DESede<br>
- </li>
- </ul>
- <ul>
- <li>takes 25 to 40 minutes</li>
- </ul>
- </ul>
- <ul>
- <li>encryptionAES - tests AES encryption scheme<br>
- </li>
- </ul>
- <ul>
- <li>encryptionBlowfish - tests Blowfish encryption scheme<br>
- </li>
- </ul>
- <ul>
- <li>encryptionCFB - tests CFB encryption scheme<br>
- </li>
- </ul>
- <ul>
- <li>encryptionDES - tests DES encryption scheme<br>
- </li>
- </ul>
- <ul>
- <li>encryptionECB - tests ECB encryption scheme<br>
- </li>
- </ul>
- <ul>
- <li>encryptionOFB - tests OFB encryption scheme</li>
- </ul>
- </ul>
- <ul>
- </ul>
- <li>multi</li>
- <ul>
- <li>runs a simple test case with 10 threads</li>
- <li>runs for 10 minutes, then shuts down all threads<br>
- </li>
- </ul>
- <li>derbytools<br>
- </li>
- <ul>
- <li>tests for dblook, ij, and import/export utilities</li>
- <li>takes 5 to 10 minutes<br>
- </li>
- </ul>
- <li>i18nTest</li>
- <ul>
- <li>tests that characters outside simple ascii scope do not result in errors.
- <li>takes 5 to 10 minutes<br>
- </li>
- </ul>
- <li>derbyall</li>
- <ul>
- <li>contains all suites typically run by all developers<br>
- </li>
- </ul>
- <ul>
- <li>tested on a variety of hardware takes from 3.00 - 6.00 hours </li>
- </ul>
- <li><a href="#Note1:"><small>See Note1</small></a><br>
- </li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>multi</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>runs a simple test
+ case with 10 threads</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>runs for 10 minutes,
+ then shuts down all threads</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbytools</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tests for <span
+ class=SpellE>dblook</span>, <span class=SpellE>ij</span>, and
+ import/export utilities</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 5 to 10 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'>i18nTest</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'><span class=GramE>tests</span>
+ that characters outside simple <span class=SpellE>ascii</span> scope do
+ not result in errors. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>takes 5 to 10 minutes</li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><span class=SpellE>derbyall</span></li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>contains all suites
+ typically run by all developers</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l8 level2 lfo7;tab-stops:list 1.0in'>tested on a variety of
+ hardware takes from 3.00 - 6.00 hours </li>
+ </ul>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l8 level1 lfo7;tab-stops:list .5in'><a href="#Note1:"><span
+ style='font-size:10.0pt'>See Note1</span></a></li>
</ul>
-<p>
-A successful run with all tests passing will have no *.fail files
-created, the &lt;testsuite&gt;_fail.txt file will be empty, and the
-&lt;testsuite&gt;_report.txt file will show no failures in the Summary
-results section.
-</p>
-<table
- style="text-align: left; width: 556px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>-------snippet from
-derbylang_report.txt -----<br>
------------------------------------------------------------<br>
-Summary results:<br>
- <br>
-Test Run Started: 2004-11-10 11:27:55.0<br>
-Test Run Duration: 00:04:09<br>
- <br>
-129 Tests Run<br>
-100% Pass (129 tests passed)<br>
-&nbsp;0% Fail (0 tests failed)<br>
-0 Suites skipped</small><br>
- </td>
- </tr>
- </tbody>
+
+<p>A successful run with all tests passing will have no *.fail files created,
+the &lt;<span class=SpellE>testsuite</span>&gt;_fail.txt file will be empty,
+and the &lt;<span class=SpellE>testsuite</span>&gt;_report.txt file will show
+no failures in the Summary results section. </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=651 style='width:488.2pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>-------snippet from
+ derbylang_report.txt -----<br>
+ -----------------------------------------------------------<br>
+ Summary results:<br>
+ <br>
+ Test Run Started: 2004-11-10 11:27:55.0<br>
+ Test Run Duration: </span><st1:time Minute="4" Hour="0"><span
+ style='font-size:10.0pt'>00:04:09</span></st1:time><span style='font-size:
+ 10.0pt'><br>
+ <br>
+ 129 Tests Run<br>
+ 100% Pass (129 tests passed)<br>
+ &nbsp;0% Fail (0 tests failed)<br>
+ 0 Suites skipped</span></p>
+ </td>
+ </tr>
</table>
-<br>
-<h3><a name="building_derbyTesting__running_with"></a>2.2 building
-derbyTesting package<br>
-</h3>
-<p>
-To build the derbyTesting package:<br>
-</p>
-<ul>
- <li>follow all the steps in the derby <a
- href="http://incubator.apache.org/derby/BUILDING.html";>BUILDING.txt</ a>.</li>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name="building_derbyTesting__running_with"></a>2.2 building <span
+class=SpellE>derbyTesting</span> package</h3>
+
+<p>To build the <span class=SpellE>derbyTesting</span> package:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l20 level1 lfo8;tab-stops:list .5in'><span class=GramE>follow</span>
+ all the steps in the derby <a
+ href="http://incubator.apache.org/derby/BUILDING.html";>BUILDING.txt</ a>.</li>
</ul>
-<p>This is some typical
-output for the ant build process.<br>
-</p>
-<table
- style="text-align: left; width: 516px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>&gt; cd
-/local/derby/java/testing<br>
-&gt; ant.ksh<br>
-Searching for build.xml ...<br>
-Buildfile: /local/derby/java/testing/build.xml<br>
- <br>
-compile:<br>
-&nbsp;&nbsp;&nbsp; [javac] Compiling 30 source files to
-/local/derby/classes<br>
-...<br>
-&nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 1 file to
-/local/derby/classes/org/apache/derbyTesting/funct<br>
-ionTests<br>
- <br>
-BUILD SUCCESSFUL<br>
-Total time: 10 minutes 3 seconds</small></td>
- </tr>
- </tbody>
+
+<p>This is some typical output for the ant build process.</p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=604 style='width:453.05pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>&gt; <span class=SpellE>cd</span>
+ /local/derby/java/testing<br>
+ &gt; <span class=SpellE>ant.ksh</span><br>
+ Searching for <span class=SpellE>build.xml</span> ...<br>
+ <span class=SpellE>Buildfile</span>: /local/derby/java/testing/<span
+ class=SpellE>build.xml</span><br>
+ <br>
+ compile:<br>
+ &nbsp;&nbsp;&nbsp; [<span class=SpellE>javac</span>] Compiling 30 source
+ files to /local/derby/classes<br>
+ ...<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; [copy] Copying 1 file to
+ /local/derby/classes/org/apache/<span class=SpellE>derbyTesting/funct</span><br>
+ <span class=SpellE>ionTests</span><br>
+ <br>
+ BUILD SUCCESSFUL<br>
+ Total time: 10 minutes 3 seconds</span></p>
+ </td>
+ </tr>
</table>
-<p>Once you have built the derbyTesting package built, you can make a
-derbyTesting.jar use the jar build target at the ${derby.source}level.
+
+<p>Once you have built the <span class=SpellE>derbyTesting</span> package
+built, you can make a <span class=SpellE>derbyTesting.jar</span> use the jar
+build target at the ${<span class=SpellE>derby.source</span><span class=GramE>}level</span>.
</p>
-<p>
-This will look something like:
-</p>
-<table
- style="text-align: left; width: 528px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>c:&gt; ant derbytestingjar<br>
-Searching for build.xml ...<br>
-Buildfile: C:\derby\build.xml<br>
- <br>
-initjars:<br>
-&nbsp;&nbsp;&nbsp; [mkdir] Created dir: C:\derby\jars\<br>
-&nbsp;&nbsp;&nbsp; [mkdir] Created dir: C:\derby\jars\lists<br>
-&nbsp;&nbsp;&nbsp;&nbsp; [echo] Revision number set to exported<br>
-&nbsp;&nbsp;&nbsp;&nbsp; [echo] .<br>
- <br>
-derbytestingjar:<br>
-&nbsp;&nbsp;&nbsp;&nbsp; [echo] Beginning derbytesting.jar build<br>
-.....<br>
-BUILD SUCCESSFULL<br>
- </small></td>
- </tr>
- </tbody>
+
+<p>This will look something like: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=618 style='width:463.6pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>c:</span></span><span
+ style='font-size:10.0pt'>&gt; ant <span class=SpellE>derbytestingjar</span><br>
+ Searching for <span class=SpellE>build.xml</span> ...<br>
+ <span class=SpellE>Buildfile</span>: C:\derby\build.xml<br>
+ <br>
+ <span class=SpellE>initjars</span>:<br>
+ &nbsp;&nbsp;&nbsp; [<span class=SpellE>mkdir</span>] Created dir:
+ C:\derby\jars\<br>
+ &nbsp;&nbsp;&nbsp; [<span class=SpellE>mkdir</span>] Created dir:
+ C:\derby\jars\lists<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; [echo] Revision number set to exported<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; [echo] .<br>
+ <br>
+ <span class=SpellE><span class=GramE>derbytestingjar</span></span>:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; [echo] Beginning <span class=SpellE>derbytesting.jar</span>
+ build<br>
+ .....<br>
+ BUILD SUCCESSFULL</span></p>
+ </td>
+ </tr>
</table>
-<br>
-<br>
-<h2><a class="mozTocH2" name="mozTocId582299"></a>3. <a name="run"></a>More
-details on running the derby functional tests</h2>
-<p>
-The functional tests are run using a class called 'RunTest'. This class
-calls a number of other classes. A group of tests, called a 'suite' is
-executed using a class called 'RunSuite'.<br>
-</p>
-<h3><a class="mozTocH3" name="mozTocId595945"></a>3.1 <a name="run1"></a>Running
-1 test</h3>
-<p>See section 2.1 for the basic steps to run 1 test.
-</p>
-<p>To pass on system level properties to the test harness, use the test
-harness property -DtestSpecialFlags. For
-example, to run a test forcing
-the message text to be retrieved from the network server:
-</p>
-<table
- style="text-align: left; width: 558px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"> <small>java
--Dframework=DerbyNet
--DtestSpecialFlags=RetrieveMessagesFromServerOnGetMessage=true&nbsp;
-org.apache.derbyTesting.functionTests.harness.RunTest
-lang/supersimple.sql</small></td>
- </tr>
- </tbody>
+
+<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>
+
+<h2><a name=mozTocId582299></a>3. <a name=run></a>More details on running the
+derby functional tests</h2>
+
+<p>The functional tests are run using a class called '<span class=SpellE>RunTest</span>'.
+This class calls a number of other classes. A group of tests, called a 'suite'
+is executed using a class called '<span class=SpellE>RunSuite</span>'.</p>
+
+<h3><a name=mozTocId595945></a>3.1 <a name=run1></a>Running 1 test</h3>
+
+<p>See section 2.1 for the basic steps to run 1 test. </p>
+
+<p>To pass on system level properties to the test harness, use the test harness
+property -<span class=SpellE>DtestSpecialFlags</span>. For example, to run a
+test forcing the message text to be retrieved from the network server: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=653 style='width:489.95pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>java -<span class=SpellE>Dframework</span>=<span
+ class=SpellE>DerbyNet</span> -<span class=SpellE>DtestSpecialFlags</span>=<span
+ class=SpellE>RetrieveMessagesFromServerOnGetMessage</span>=true&nbsp; <span
+ class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span> <span
+ class=SpellE>lang/supersimple.sql</span></span></p>
+ </td>
+ </tr>
</table>
+
<p><br>
-Tests will be executed in the current directory. When
-running a test
-using the network server, i.e. -Dframework=DerbyNet, the test will run
-in a subdirectory (automatically created) 'DerbyNet'. <small> <br>
-<a href="#Note2:">See Note2</a>.<br>
-</small></p>
-<p>
-The test will normally create the following:<br>
-</p>
-<ul>
- <li>a database. The default name is 'wombat'. However, the name may
-be different depending on certain properties passed in to the test
-harness.</li>
- <li>a .out file: the final result file</li>
- <li>a .tmp file; the initial result file, before any modification to
-prevent irrelevant differences has been applied (before 'masking').</li>
- <li>a .diff file; the differences between the .out and the master
-file with expected output it is compared to.</li>
- <li>a .pass or .fail file. This file lists the test if it passes
-under .pass, and under .fail if the output in .out is different from
-the expected output in the master.</li>
+Tests will be executed in the current directory. When running a test using the
+network server, i.e. -<span class=SpellE>Dframework</span>=<span class=SpellE>DerbyNet</span>,
+the test will run in a subdirectory (automatically created) '<span
+class=SpellE>DerbyNet</span>'. <span style='font-size:10.0pt'><br>
+<a href="#Note2:">See Note2</a>.</span></p>
+
+<p>The test will normally create the following:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l3 level1 lfo9;tab-stops:list .5in'><span class=GramE>a</span>
+ database. The default name is 'wombat'. However, the name may be different
+ depending on certain properties passed in to the test harness.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l3 level1 lfo9;tab-stops:list .5in'>a .out file: the final result
+ file</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l3 level1 lfo9;tab-stops:list .5in'><span class=GramE>a</span> .<span
+ class=SpellE>tmp</span> file; the initial result file, before any
+ modification to prevent irrelevant differences has been applied (before
+ 'masking').</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l3 level1 lfo9;tab-stops:list .5in'><span class=GramE>a</span>
+ .diff file; the differences between the .out and the master file with
+ expected output it is compared to.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l3 level1 lfo9;tab-stops:list .5in'><span class=GramE>a</span>
+ .pass or .fail file. This file lists the test if it passes under .<span
+ class=GramE>pass,</span> and under .fail if the output in .out is
+ different from the expected output in the master.</li>
</ul>
-<p>
-possibly created:<br>
-</p>
-<ul>
- <li>additional files used in a specific test may get copied over to
-the test directory. These normally do not get cleaned up.</li>
- <li>.tmpstr file is created for network server tests and is a
-possibly
-massaged copy of the master file the output needs to be compared with.</li>
- <li>.err and .out files in network server database files for any
-additional error output.</li>
+
+<p><span class=GramE>possibly</span> created:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l1 level1 lfo10;tab-stops:list .5in'><span class=GramE>additional</span>
+ files used in a specific test may get copied over to the test directory.
+ These normally do not get cleaned up.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l1 level1 lfo10;tab-stops:list .5in'>.<span class=SpellE>tmpstr</span>
+ file is created for network server tests and is a possibly massaged copy
+ of the master file the output needs to be compared with.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l1 level1 lfo10;tab-stops:list .5in'>.err and .out files in
+ network server database files for any additional error output.</li>
</ul>
-<p>
-When the test is successful, cleanup will occur unless the test harness
-property -Dkeepfiles=true is used. Cleanup will attempt to cleanup all
-files except for .pass. <small><br>
-<a href="#Note3:_">See Note3.</a></small>
-</p>
-<p>
-A successful run (this example is from a dos environment) would
-look for instance like:
-</p>
-<table
- style="text-align: left; width: 414px; height: 45px; margin-left: 80px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>c:&gt;
-derbyTesting.functionTests.harness.RunTest lang/supersimple.sql<br>
-C:\derby\run2<br>
-supersimple<br>
--- listing properties --<br>
-derby.locks.deadlockTimeout=3<br>
-derby.locks.waitTimeout=3<br>
-*** Start: supersimple jdk1.4.2_03 2004-11-10 16:51:02 ***<br>
-The test should be running...<br>
-MasterFileName = master/supersimple.out<br>
-*** End:&nbsp;&nbsp; supersimple jdk1.4.2_03 2004-11-10 16:51:25 ***<br>
- </small></td>
- </tr>
- </tbody>
+
+<p>When the test is successful, cleanup will occur unless the test harness
+property -<span class=SpellE>Dkeepfiles</span>=true is used. Cleanup will attempt
+to cleanup all files except for .pass. <span style='font-size:10.0pt'><br>
+<a href="#Note3:_">See Note3.</a></span> </p>
+
+<p>A successful run (this example is from a dos environment) would look for
+instance like: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=485 style='width:363.5pt;
+ mso-cellspacing:1.5pt;margin-left:70.25pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>c:</span></span><span
+ style='font-size:10.0pt'>&gt; <span class=SpellE>derbyTesting.functionTests.harness.RunTest</span>
+ <span class=SpellE>lang/supersimple.sql</span><br>
+ C:\derby\run2<br>
+ <span class=SpellE>supersimple</span><br>
+ -- listing properties --<br>
+ <span class=SpellE>derby.locks.deadlockTimeout</span>=3<br>
+ <span class=SpellE>derby.locks.waitTimeout</span>=3<br>
+ *** Start: <span class=SpellE>supersimple</span> jdk1.4.2_03 2004-11-10 </span><st1:time
+ Minute="51" Hour="16"><span style='font-size:10.0pt'>16:51:02</span></st1:time><span
+ style='font-size:10.0pt'> ***<br>
+ The test should be running...<br>
+ <span class=SpellE>MasterFileName</span> = master/<span class=SpellE>supersimple.out</span><br>
+ *** End:&nbsp;&nbsp; <span class=SpellE>supersimple</span> jdk1.4.2_03
+ 2004-11-10 </span><st1:time Minute="51" Hour="16"><span style='font-size:
+ 10.0pt'>16:51:25</span></st1:time><span style='font-size:10.0pt'> ***</span></p>
+ </td>
+ </tr>
</table>
-<br>
-<p>A Test Failure shows the diff, creates a .fail file, does not create
-a .pass file, and does not cleanup any files upon completion. The
-output might look like this:<br>
-</p>
-<table
- style="text-align: left; width: 442px; height: 32px; margin-left: 80px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>&nbsp;</small><small>c:&gt;
-derbyTesting.functionTests.harness.RunTest lang/supersimple.sql<br>
-C:\derby\run2</small><small><br>
-supersimple<br>
--- listing properties --<br>
-derby.locks.deadlockTimeout=3<br>
-derby.locks.waitTimeout=3<br>
-*** Start: supersimple jdk1.4.2_03 2004-11-10 16:54:39 ***<br>
-The test should be running...<br>
-MasterFileName = master/supersimple.out<br>
-10 del<br>
-&lt; 10<br>
-10a10<br>
-&gt; 1<br>
-Test Failed.<br>
-*** End:&nbsp;&nbsp; supersimple jdk1.4.2_03 2004-11-10 16:55:02 ***</small><br>
- </td>
- </tr>
- </tbody>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p>A Test Failure shows the diff, creates a .fail file, does not create a .pass
+<span class=GramE>file,</span> and does not cleanup any files upon completion.
+The output might look like this:</p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=517 style='width:388.1pt;
+ mso-cellspacing:1.5pt;margin-left:70.25pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>&nbsp;<span class=GramE>c:</span>&gt;
+ <span class=SpellE>derbyTesting.functionTests.harness.RunTest</span> <span
+ class=SpellE>lang/supersimple.sql</span><br>
+ C:\derby\run2<br>
+ <span class=SpellE>supersimple</span><br>
+ -- listing properties --<br>
+ <span class=SpellE>derby.locks.deadlockTimeout</span>=3<br>
+ <span class=SpellE>derby.locks.waitTimeout</span>=3<br>
+ *** Start: <span class=SpellE>supersimple</span> jdk1.4.2_03 2004-11-10 </span><st1:time
+ Minute="54" Hour="16"><span style='font-size:10.0pt'>16:54:39</span></st1:time><span
+ style='font-size:10.0pt'> ***<br>
+ The test should be running...<br>
+ <span class=SpellE>MasterFileName</span> = master/<span class=SpellE>supersimple.out</span><br>
+ 10 </span><st1:State><st1:place><span style='font-size:10.0pt'>del</span></st1:place></st1:State><span
+ style='font-size:10.0pt'><br>
+ &lt; 10<br>
+ 10a10<br>
+ &gt; 1<br>
+ Test Failed.<br>
+ *** End:&nbsp;&nbsp; <span class=SpellE>supersimple</span> jdk1.4.2_03
+ 2004-11-10 </span><st1:time Minute="55" Hour="16"><span style='font-size:
+ 10.0pt'>16:55:02</span></st1:time><span style='font-size:10.0pt'> ***</span></p>
+ </td>
+ </tr>
</table>
-<br>
-<h3><a class="mozTocH3" name="mozTocId368566"></a>3.2 <a name="run2"></a>Running
-a suite of tests</h3>
-<p>
-See section 2.1 for a basic explanation on how to run a suite of tests.<br>
-</p>
-<p>
-Tests will be run in a subdirectory with the name of the test
-suite under the current directory. Eg. for derbylang suite, a directory
-derbylang will be created. While the tests are run, information about
-the run is inserted into a &lt;testsuite&gt;.sum file. When all tests
-have completed summary files are created &lt;testsuite&gt;_pass.txt,
-_fail.txt, and _diff.txt files are created as well as a
-&lt;testsuite&gt;_report.txt
-with additional details. Some of the information is duplicate. Also, a
-.skip file will be created holding a list of the tests that were
-skipped (for more details on this, see the section on <a
- href="#skipping">skipping tests</a>).
-</p>
-<p>
-RunSuite does not empty the top level directory before running. Thus,
-if another suite was run in the same directory at an earlier time, the
-resulting summary files might contain results for more than the current
-run. Therefore it is important to run each suite in a clean directory.
-</p>
-<p>Sample output from RunSuite:<br>
-</p>
-<table
- style="text-align: left; width: 471px; height: 32px; margin-left: 80px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small><small>c:&gt; $ java
-org.apache.derbyTesting.functionTests.harness.RunSuite derbylang<br>
-Top suite: derbylang<br>
-Suite to run: derbylang:derbylang<br>
-Now do RunList<br>
-Now run the suite's tests<br>
-Run the tests...<br>
-Execute command: java -DjavaCmd=java
--Doutputdir=C:\derbyt1\derbylang\derbylang
--Dtopsuitedir=C:\derbyt1\derbylang -Dtoprepo<br>
-rtdir=C:\derbyt1\derbylang -Drundir=C:\derbyt1
--Dsuitename=derbylang:derbylang -Dtopsuitename=derbylang
-org.apache.derbyTesting.functionTests.harness.RunTest
-lang/altertable.sql<br>
-Execute command: java -DjavaCmd=java
--Doutputdir=C:\derbyt1\derbylang\derbylang
--Dtopsuitedir=C:\derbyt1\derbylang -Dtopreportdir=C:\derbyt1\derbylang
--Drundir=C:\derbyt1 -Dsuitename=derbylang:derbylang
--Dtopsuitename=derbylang
-org.apache.derbyTesting.functionTests.harness.RunTest
-lang/arithmetic.sql<br>
-...(.more tests)....<br>
-Generated report: derbylang_report.txt</small></small><small><br>
- </small></td>
- </tr>
- </tbody>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=mozTocId368566></a>3.2 <a name=run2></a>Running a suite of tests</h3>
+
+<p><span class=GramE>See section 2.1 for a basic explanation on how to run a
+suite of tests.</span></p>
+
+<p>Tests will be run in a subdirectory with the name of the test suite under
+the current directory. <span class=SpellE><span class=GramE>Eg</span></span><span
+class=GramE>.</span> <span class=GramE>for</span> <span class=SpellE>derbylang</span>
+suite, a directory <span class=SpellE>derbylang</span> will be created. While
+the tests are run, information about the run is inserted into a &lt;<span
+class=SpellE>testsuite</span>&gt;.sum file. When all tests have completed
+summary files are created &lt;<span class=SpellE>testsuite</span>&gt;_pass.txt,
+_fail.txt, and _diff.txt files are created as well as a &lt;<span class=SpellE>testsuite</span>&gt;_report.txt
+with additional details. Some of the information is <span class=GramE>duplicate</span>.
+Also, a .skip file will be created holding a list of the tests that were
+skipped (for more details on this, see the section on <a href="#skipping">skipping
+tests</a>). </p>
+
+<p><span class=SpellE>RunSuite</span> does not empty the top level directory
+before running. Thus, if another suite was run in the same directory at an
+earlier time, the resulting summary files might contain results for more than
+the current run. Therefore it is important to run each suite in a clean
+directory. </p>
+
+<p>Sample output from <span class=SpellE>RunSuite</span>:</p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=551 style='width:413.55pt;
+ mso-cellspacing:1.5pt;margin-left:70.25pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span class=GramE><span style='font-size:7.5pt'>c:</span></span><span
+ style='font-size:7.5pt'>&gt; $ java <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunSuite</ span>
+ <span class=SpellE>derbylang</span><br>
+ Top suite: <span class=SpellE>derbylang</span><br>
+ Suite to run: <span class=SpellE>derbylang:derbylang</span><br>
+ Now do <span class=SpellE>RunList</span><br>
+ Now run the suite's tests<br>
+ Run the tests...<br>
+ Execute command: java -<span class=SpellE>DjavaCmd</span>=java -<span
+ class=SpellE>Doutputdir</span>=C:\derbyt1\derbylang\derbylang -<span
+ class=SpellE>Dtopsuitedir</span>=C:\derbyt1\derbylang -<span class=SpellE>Dtoprepo</span><br>
+ <span class=SpellE>rtdir</span>=C:\derbyt1\derbylang -<span class=SpellE>Drundir</span>=C:\derbyt1
+ -<span class=SpellE>Dsuitename</span>=<span class=SpellE>derbylang:derbylang</span>
+ -<span class=SpellE>Dtopsuitename</span>=<span class=SpellE>derbylang</span> <span
+ class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span> <span
+ class=SpellE>lang/altertable.sql</span><br>
+ Execute command: java -<span class=SpellE>DjavaCmd</span>=java -<span
+ class=SpellE>Doutputdir</span>=C:\derbyt1\derbylang\derbylang -<span
+ class=SpellE>Dtopsuitedir</span>=C:\derbyt1\derbylang -<span class=SpellE>Dtopreportdir</span>=C:\derbyt1\derbylang
+ -<span class=SpellE>Drundir</span>=C:\derbyt1 -<span class=SpellE>Dsuitename</span>=<span
+ class=SpellE>derbylang:derbylang</span> -<span class=SpellE>Dtopsuitename</span>=<span
+ class=SpellE>derbylang</span> <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunTest</ span>
+ <span class=SpellE>lang/arithmetic.sql</span><br>
+ ...(.more tests)....<br>
+ Generated report: derbylang_report.txt</span></p>
+ </td>
+ </tr>
</table>
-<p>
-This output does not show whether the tests passed or failed. The
-Summary section in &lt;testsuite&gt;_report.txt shows the statistics of
-the passed vs. failed tests, the summary &lt;testsuite&gt;_*.txt files
-list the tests that passed and failed.
-</p>
-<br>
-<h2><a class="mozTocH2" name="mozTocId635355"></a>4. <a name="overview"></a>
-Harness internals for developers<br>
-</h2>
-<p>
-The following is intended for people who have the subversion tree
-available and want to add or modify tests.
-</p>
-<p>
-The test harness executing one test basically does the following in
-sequence:
-</p>
-<ul>
- <li>identify test to run</li>
- <li>identify properties to run with</li>
- <li>copy needed support files</li>
- <li>find the expected output</li>
- <li>if network server, start network server</li>
- <li>run the test, creating the database</li>
- <li>if network server, shutdown the server</li>
- <li>modify the output based on Sed class and _sed.properties file for
-the test</li>
- <li>compare expected output with actual output</li>
- <li>if pass, cleanup.</li>
+
+<p>This output does not show whether the tests passed or failed. The Summary
+section in &lt;<span class=SpellE>testsuite</span>&gt;_report.txt shows the
+statistics of the passed vs. failed tests, the summary &lt;<span class=SpellE>testsuite</span>&gt;_*.txt
+files list the tests that passed and failed. </p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h2><a name=mozTocId635355></a>4. <a name=overview></a>Harness internals for
+developers</h2>
+
+<p>The following is intended for people who have the subversion tree available
+and want to add or modify tests. </p>
+
+<p>The test harness executing one test basically does the following in
+sequence: </p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>identify test to run</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>identify properties to run
+ with</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>copy needed support files</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>find the expected output</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>if network server, start
+ network server</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>run the test, creating the
+ database</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>if network server, shutdown
+ the server</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>modify the output based on <span
+ class=SpellE>Sed</span> class and _<span class=SpellE>sed.properties</span>
+ file for the test</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'>compare expected output
+ with actual output</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l17 level1 lfo11;tab-stops:list .5in'><span class=GramE>if</span>
+ pass, cleanup.</li>
</ul>
-<br>
-<h3><a class="mozTocH3" name="mozTocId344499"></a>4.1 <a name="ov1"></a>Test
-types</h3>
-<p>
-The test harness recognizes, or will recognize tests with the following
-extensions:<br>
-</p>
-<ul>
- <li>&nbsp;.java&nbsp;&nbsp;&nbsp; tests that run in a separate jvm.</li>
- <li>&nbsp;.sql &nbsp;&nbsp;&nbsp; tests that run using ij</li>
- <li>&nbsp;.sql2 &nbsp;&nbsp;&nbsp; related to .sql</li>
- <li>&nbsp;.multi &nbsp;&nbsp;&nbsp; multi threaded tests. There is
-currently only 1 test being run. The multi test functions a little
-differently from .java and .sql* tests in that RunTest starts a
-separate harness class called MultiTest to control the details of the
-run. Also, the actual test files live under
-org/apache/derbyTesting/functionTests/multiTests, rather than
-org/apache/derbyTesting/functionTests/tests. <br>
- </li>
- <li>&nbsp;.unit &nbsp;&nbsp;&nbsp; unit tests. The unit tests
-actually refer to &lt;testname&gt;_derby.properties files under
-org/apache/derbyTesting/functionTests/tests/unit that activate the
-actual unit test harness and tests under
-org/apache/derbyTesting/unitTests. These tests test more underlying
-functionality than the (rest of the) functionTests, which are more
-geared toward how end-users might use functionality.<br>
- </li>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=mozTocId344499></a>4.1 <a name=ov1></a>Test types</h3>
+
+<p>The test harness recognizes, or will recognize tests with the following
+extensions:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l11 level1 lfo12;tab-stops:list .5in'>&nbsp;.java&nbsp;&nbsp;&nbsp;
+ tests that run in a separate <span class=SpellE>jvm</span>.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l11 level1 lfo12;tab-stops:list .5in'>&nbsp;.<span class=SpellE>sql</span>
+ &nbsp;&nbsp;&nbsp; tests that run using <span class=SpellE>ij</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l11 level1 lfo12;tab-stops:list .5in'>&nbsp;.sql2
+ &nbsp;&nbsp;&nbsp; related to .<span class=SpellE>sql</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l11 level1 lfo12;tab-stops:list .5in'>&nbsp;.multi
+ &nbsp;&nbsp;&nbsp; multi threaded tests. There is currently only 1 test
+ being run. The multi test functions a little differently from .java and .<span
+ class=SpellE>sql</span>* tests in that <span class=SpellE>RunTest</span>
+ starts a separate harness class called <span class=SpellE>MultiTest</span>
+ to control the details of the run. Also, the actual test files live under
+ org/apache/<span class=SpellE>derbyTesting/functionTests/multiTests</span>,
+ rather than org/apache/<span class=SpellE>derbyTesting/functionTests/tests</span>.
+ </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l11 level1 lfo12;tab-stops:list .5in'>&nbsp;.unit
+ &nbsp;&nbsp;&nbsp; unit tests. The unit tests actually refer to &lt;<span
+ class=SpellE>testname</span>&gt;_<span class=SpellE>derby.properties</span>
+ files under org/apache/<span class=SpellE>derbyTesting/functionTests/tests/unit</span>
+ that activate the actual unit test harness and tests under org/apache/<span
+ class=SpellE>derbyTesting/unitTests</span>. These tests test more
+ underlying functionality than the (rest of the) <span class=SpellE>functionTests</span>,
+ which are more geared toward how end-users might use functionality.</li>
</ul>
-<br>
-<h3><a class="mozTocH3" name="mozTocId809770"></a>4.2 <a name="ov2"></a>Supporting
-files for tests</h3>
-<p>
-Various additional files may be used by a test, for instance, to create
-large data values, to test using of jar files and the like. Any files
-that need to be accessed by a particular test that are not accessed
-from the classpath need to be listed under supportfiles= in the
-&lt;testname&gt;_app.properties file.<br>
-Tests can refer to classes without being in the classpath, and sql
-tests can use the ij command 'run resource ' to execute additional .sql
-files without changes to the _app.properties files.
-</p>
-<p>For example, in the file
-(org/apache/derbyTesting/functionTests/tests/)tools/ dblook_test_app.properties:<br>
-<small>&nbsp;&nbsp;&nbsp;
-supportfiles=tools/dblook_makeDB.sql,tools/dblook_test.jar</small><br>
-</p>
-<h3><a class="mozTocH3" name="mozTocId427577"></a>4.3 <a name="ov3"></a>&lt;testname&gt;_app.properties</h3>
-<p>
-Every test directory has a default_app.properties. This file is for
-system level properties generic to all the tests in that test
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=mozTocId809770></a>4.2 <a name=ov2></a>Supporting files for tests</h3>
+
+<p>Various additional files may be used by a test, for instance, to create
+large data values, to test using of jar files and the like. Any files that need
+to be accessed by a particular test that are not accessed from the <span
+class=SpellE>classpath</span> need to be listed under <span class=SpellE>supportfiles</span>=
+in the &lt;<span class=SpellE>testname</span>&gt;_<span class=SpellE>app.properties</span>
+file.<br>
+Tests can refer to classes without being in the <span class=SpellE>classpath</span>,
+and <span class=SpellE>sql</span> tests can use the <span class=SpellE>ij</span>
+command 'run resource ' to execute additional .<span class=SpellE>sql</span>
+files without changes to the _<span class=SpellE>app.properties</span> files. </p>
+
+<p>For example, in the file (org/apache/<span class=SpellE>derbyTesting/functionTests/tests</span>/<span
+class=GramE>)tools</span>/<span class=SpellE>dblook_test_app.properties</span>:<br>
+<span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; <span class=SpellE>supportfiles</span>=tools/<span
+class=SpellE>dblook_makeDB.sql,tools/dblook_test.jar</span></span></p>
+
+<h3><a name=mozTocId427577></a>4.3 <a name=ov3></a>&lt;<span class=SpellE>testname</span>&gt;_<span
+class=SpellE>app.properties</span></h3>
+
+<p>Every test directory has a <span class=SpellE>default_app.properties</span>.
+This file is for system level properties generic to all the tests in that test
directory. </p>
-<p>
-If a test requires different system level properties, a test specific
-properties file can be created to overwrite the defaults. The test
-specific properties file needs to have a name starting with the
-test file name, followed with _app.properties</p>
-<p>For example, for the test tools/dblook_test.java, there is a
-properties file called tools/dblook_test_app.properties<br>
-</p>
-<h3><a class="mozTocH3" name="mozTocId715566"></a>4.4 <a name="ov4"></a>&lt;testname&gt;_derby.properties</h3>
-<p>
-Every test directory has a default_derby.properties. This file is for
-derby specific properties common to all the tests in that test
+
+<p>If a test requires different system level properties, a test specific
+properties file can be created to overwrite the defaults. The test specific
+properties file needs to have a name starting with the test file name, followed
+with _<span class=SpellE>app.properties</span></p>
+
+<p>For example, for the test tools/<span class=SpellE>dblook_test.java</span>,
+there is a properties file called tools/<span class=SpellE>dblook_test_app.properties</span></p>
+
+<h3><a name=mozTocId715566></a>4.4 <a name=ov4></a>&lt;<span class=SpellE>testname</span>&gt;_<span
+class=SpellE>derby.properties</span></h3>
+
+<p style='margin-bottom:12.0pt'>Every test directory has a <span class=SpellE>default_derby.properties</span>.
+This file is for derby specific properties common to all the tests in that test
directory.<br>
-If a test requires different derby properties, a test specific
-properties file can be created to overwrite the defaults. The test
-specific properties file needs to have a name starting with the
-test file name, followed with _derby.properties<br>
-<br>
-</p>
-<h3><a class="mozTocH3" name="mozTocId874096"></a>4.5 <a name="ov5"></a>tmp
+If a test requires different derby properties, a test specific properties file
+can be created to overwrite the defaults. The test specific properties file
+needs to have a name starting with the test file name, followed with _<span
+class=SpellE>derby.properties</span></p>
+
+<h3><a name=mozTocId874096></a>4.5 <a name=ov5></a><span class=SpellE>tmp</span>
files, out files, master files, and canons</h3>
-<p>
-The test's output will be put into a file testname.tmp. Then the output
-is modified if masking is required and the result is put into a .out
-file.<br>
-The expected output is found by examining the following directories,
-based on certain input<br>
-</p>
-<ul>
- <li>functionTests/master/framework/jcc_version/jvmcode</li>
- <li>functionTests/master/framework/jcc_version/earlier_jvmcode</li>
- <li>functionTests/master/framework/jcc_version</li>
- <li>functionTests/master/framework/jvmcode</li>
- <li>functionTests/master/framework/earlier_jvmcode</li>
- <li>functionTests/master/jvmcode</li>
- <li>functionTests/master</li>
+
+<p>The test's output will be put into a file <span class=SpellE>testname.tmp</span>.
+Then the output is modified if masking is required and the result is put into <span
+class=GramE>a</span> .out file.<br>
+The expected output is found by examining the following directories, based on
+certain input</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/framework/jcc_version/jvmcode</ span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/framework/jcc_version/ earlier_jvmcode</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/framework/jcc_version</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/framework/jvmcode</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/framework/earlier_jvmcode</span></ li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests/master/jvmcode</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l13 level1 lfo13;tab-stops:list .5in'><span class=SpellE>functionTests</span>/master</li>
</ul>
-<p>
-For example, if we are running a test and the flag -Dframework=DerbyNet
-is used and the jvm we are
-using is Sun's jdk 142, and the jcc version is 2.4 (not available at
-time of writing) then the search for the master to compare with
-starts in the functionTests/derbynet/jcc2.4/jdk14 directory. If a .out
-file with the same name as the test is found in that directory, that
-master is taken. If there is no such file in that directory, search
-continues in the directory functionTests/derbynet/jcc2.4/jdk13 if it
-exists.</p>
-<p>If there is no file there, nor for any other jcc directory, it will
-continue to derbynet/jdk14, and the search is continued for earlier jvm
-versions.<br>
-If we are not running network server, the DerbyNet and
-jcc_version directories are not traversed.<br>
-</p>
-<p>The version details do not go into the subversion level, i.e.
-running
-with jdk141 or jdk142 is expected to have the same behavior.
-</p>
-<p>
-This functionality supports dealing with minor differences in behavior
-caused by minor differences in behavior in the underlying jvms, jcc
-versions, differences between results returned through network server
-vs. embedded and minor differences between a debug and non debug (jar)
-build. </p>
-<p>
-However, having a large number of these files means a maintenance
-problem. Every time test output changes due to modifications to derby
-or to the test, all output files in all directories need to be updated
-accordingly. If at all possible, irrelevant differences should be
-masked out, or the test should be written so that the output does not
-reflect such items. </p>
-<p>
-Suggestions to minimize canons:
-</p>
-<ul>
- <li>create test specific masking</li>
- <li>ensure test data has a specific correct returned order; or an
-order by should be added to a query</li>
- <li>when writing java tests, ensure only pertinent output is
-reflected.</li>
+
+<p>For example, if we are running a test and the flag -<span class=SpellE>Dframework</span>=<span
+class=SpellE>DerbyNet</span> is used and the <span class=SpellE>jvm</span> we
+are using is Sun's <span class=SpellE>jdk</span> 142, and the <span
+class=SpellE>jcc</span> version is 2.4 (not available at time of writing) then
+the search for the master to compare with starts in the
+functionTests/derbynet/jcc2.4/jdk14 directory. If <span class=GramE>a</span>
+.out file with the same name as the test is found in that directory, that
+master is taken. If there is no such file in that directory, search continues
+in the directory functionTests/derbynet/jcc2.4/jdk13 if it exists.</p>
+
+<p>If there is no file there, <span class=GramE>nor</span> for any other <span
+class=SpellE>jcc</span> directory, it will continue to derbynet/jdk14, and the
+search is continued for earlier <span class=SpellE>jvm</span> versions.<br>
+If we are not running network server, the <span class=SpellE>DerbyNet</span>
+and <span class=SpellE>jcc_version</span> directories are not traversed.</p>
+
+<p>The version details do not go into the subversion level, i.e. running with
+jdk141 or jdk142 is expected to have the same behavior. </p>
+
+<p>This functionality supports dealing with minor differences in behavior
+caused by minor differences in behavior in the underlying <span class=SpellE>jvms</span>,
+<span class=SpellE>jcc</span> versions, differences between results returned
+through network server vs. embedded and minor differences between a debug and
+non debug (jar) build. </p>
+
+<p>However, having a large number of these files means a maintenance problem.
+Every time test output changes due to modifications to derby or to the test,
+all output files in all directories need to be updated accordingly. If at all
+possible, irrelevant differences should be masked out, or the test should be
+written so that the output does not reflect such items. </p>
+
+<p>Suggestions to minimize canons: </p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l7 level1 lfo14;tab-stops:list .5in'>create test specific masking</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l7 level1 lfo14;tab-stops:list .5in'>ensure test data has a
+ specific correct returned order; or an order by should be added to a query</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l7 level1 lfo14;tab-stops:list .5in'><span class=GramE>when</span>
+ writing java tests, ensure only pertinent output is reflected.</li>
</ul>
-<br>
-<h3><a class="mozTocH3" name="mozTocId68107"></a>4.6 <a name="ov6"></a>Masking
-and comparing</h3>
-<p>
-Tests often fail because of unimportant differences, such as process
-ids, statement ids, timestamps. The derby functional test harness
-provides for masking of these differences at 2 levels:<br>
-</p>
-<ol>
- <li>overall level. Masking required in all, or many tests can be
-achieved using the class Sed in the test harness directory. This class
-can either delete a reference present in the .tmp file from the .out
-file, or replace it with a generic string. </li>
- <li>test specific level. To make masking for only one test, a
-(testname)_sed.properties file can be created which allows to either
-remove a string from the output or to replace it.</li>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=mozTocId68107></a>4.6 <a name=ov6></a>Masking and comparing</h3>
+
+<p>Tests often fail because of unimportant differences, such as process ids,
+statement ids, timestamps. The derby functional test harness provides for
+masking of these differences at 2 levels:</p>
+
+<ol start=1 type=1>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l2 level1 lfo15;tab-stops:list .5in'><span class=GramE>overall</span>
+ level. Masking required in all, or many tests can be achieved using the
+ class <span class=SpellE>Sed</span> in the test harness directory. This
+ class can either delete a reference present in the .<span class=SpellE>tmp</span>
+ file from the .out file, or replace it with a generic string. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l2 level1 lfo15;tab-stops:list .5in'><span class=GramE>test</span>
+ specific level. To make masking for only one test, a (<span class=SpellE>testname</span><span
+ class=GramE>)_</span><span class=SpellE>sed.properties</span> file can be
+ created which allows to either remove a string from the output or to
+ replace it.</li>
</ol>
-<p>
-The diff is executed between the final resulting output and the master
-file found.<br>
-<br>
-</p>
-<h3><a name="Adding_a_new_test"></a>4.7<span style="font-weight: bold;">&nbsp;
-</span>Adding
-a new test</h3>
-<p>
-To add a new test:
-</p>
-<ul>
- <li>create the test file (e.g. newfunctest.java or newfunctest.sql)
-in the appropriate tests subdirectory</li>
- <li>list any files needed that are not .sql or .java files in a
-supportfiles entry in a test specific _app.properties file. e.g.
-newfunctest_app.properties:&nbsp; supportfiles=xyz.jar<br>
- </li>
- <li>list any specific derby properties in a test specific
-_derby.properties file.</li>
- <li>add the properties files to the copyfiles.ant file in the test
-specific directory</li>
- <li>run the test. The first time around, the test will fail because
-no master file will be found. </li>
- <li>if the output is correct, copy it to the master directory. Note
-that there is no copyfiles.ant file needed for the master directory,
-all .out files are automatically copied.</li>
- <li>run the test again. Investigate if any differences need to be
-masked out using a test specific sed.properties file (e.g.
-newfunctest_sed.properties). If so, ensure this is added to
-copyfiles.ant.</li>
- <li>add the test to a specific suites/*.xml file, maintaining proper
-xml syntax. </li>
- <li>run the suite, and correct any problems found.</li>
+
+<p style='margin-bottom:12.0pt'>The diff is executed between the final
+resulting output and the master file found.</p>
+
+<h3><a name="Adding_a_new_test"></a>4.7<span class=GramE>&nbsp; Adding</span> a
+new test</h3>
+
+<p>To add a new test: </p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'>create the test file (e.g. <span
+ class=SpellE>newfunctest.java</span> or <span class=SpellE>newfunctest.sql</span>)
+ in the appropriate tests subdirectory</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>list</span>
+ any files needed that are not .<span class=SpellE>sql</span> or .java
+ files in a <span class=SpellE>supportfiles</span> entry in a test specific
+ _<span class=SpellE>app.properties</span> file. e.g. <span class=SpellE>newfunctest_app.properties</span>:&nbsp;
+ <span class=SpellE>supportfiles</span>=<span class=SpellE>xyz.jar</span></li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>list</span>
+ any specific derby properties in a test specific _<span class=SpellE>derby.properties</span>
+ file.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'>add the properties files to
+ the <span class=SpellE>copyfiles.ant</span> file in the test specific
+ directory</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>run</span>
+ the test. The first time around, the test will fail because no master file
+ will be found. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>if</span>
+ the output is correct, copy it to the master directory. Note that there is
+ no <span class=SpellE>copyfiles.ant</span> file needed for the master
+ directory, all .out files are automatically copied.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>run</span>
+ the test again. Investigate if any differences need to be masked out using
+ a test specific <span class=SpellE>sed.properties</span> file (e.g. <span
+ class=SpellE>newfunctest_sed.properties</span>). If so, ensure this is
+ added to <span class=SpellE>copyfiles.ant</span>.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>add</span>
+ the test to a specific suites/*.xml file, maintaining proper xml syntax. </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l18 level1 lfo16;tab-stops:list .5in'><span class=GramE>run</span>
+ the suite, and correct any problems found.</li>
</ul>
-<br>
-<h3><a name="4.8_Suites_and_Adding_a_new_suite"></a>4.8 Suites and
-Adding a new suite</h3>
-<p>
-A suite constitutes of a &lt;suitename&gt;.properties file and/or a
-&lt;suitename&gt;.runall file in the
-org/apache/derbyTesting/functionTests/suites directory. The .properties
-files hold references to other .properties files, or .runall files, the
-.runall files are the actual lists of tests.
-</p>
-<p>
-The lowest level suite always needs to have a .runall file.
-</p>
-<p>
-For example, the derbyall suite is only a derbyall.properties file that
-refers to other suites in the 'suites' property:
-</p>
-<table
- style="text-align: left; width: 527px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>-----------------------derbyall.properties--------------- <br>
-suites=derbylang derbynetmats storeall xa derbytools<br>
-derby.debug.true=enableBtreeConsistencyCheck<br>
-derby.stream.error.logSeverityLevel=0<br>
- </small></td>
- </tr>
- </tbody>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name="4.8_Suites_and_Adding_a_new_suite"></a>4.8 Suites and Adding a new
+suite</h3>
+
+<p>A suite constitutes of a &lt;<span class=SpellE>suitename</span>&gt;.properties
+file and/or a &lt;<span class=SpellE>suitename</span>&gt;.<span class=SpellE>runall</span>
+file in the org/apache/<span class=SpellE>derbyTesting/functionTests/suites</span>
+directory. The .properties files hold references to other .properties files, or
+.<span class=SpellE>runall</span> files, the .<span class=SpellE>runall</span>
+files are the actual lists of tests. </p>
+
+<p>The lowest level suite always needs to have a .<span class=SpellE>runall</span>
+file. </p>
+
+<p>For example, the <span class=SpellE>derbyall</span> suite is only a <span
+class=SpellE>derbyall.properties</span> file that refers to other suites in the
+'suites' property: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=617 style='width:462.75pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>-----------------------<span
+ class=SpellE>derbyall.properties</span>---------------<br>
+ suites=<span class=SpellE>derbylang</span> <span class=SpellE>derbynetmats</span>
+ <span class=SpellE>storeall</span> <span class=SpellE>xa</span> <span
+ class=SpellE>derbytools</span><br>
+ <span class=SpellE>derby.debug.true</span>=<span class=SpellE>enableBtreeConsistencyCheck</span><br>
+ <span class=SpellE>derby.stream.error.logSeverityLevel</span>=0</span></p>
+ </td>
+ </tr>
</table>
-<p>
-The derbylang suite is only a derbylang.runall, which lists the tests.
-The derbynetmats suite has both a .runall and a .properties file, so
-some additional properties can be specified that are true for all tests
-in that suite. </p>
-<table
- style="text-align: left; width: 521px; height: 32px; margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>------------------ derbynetmats.properties-----------------<br>
-framework=DerbyNet<br>
-suites=derbynetmats<br>
-jdk12test=true<br>
-runwithj9=false<br>
-timeout=60<br>
- </small></td>
- </tr>
- </tbody>
+
+<p>The <span class=SpellE>derbylang</span> suite is only a <span class=SpellE>derbylang.runall</span>,
+which lists the tests. The <span class=SpellE>derbynetmats</span> suite has
+both a .<span class=SpellE>runall</span> and a .properties file, so some
+additional properties can be specified that are true for all tests in that
+suite. </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=610 style='width:457.45pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>------------------<span
+ class=SpellE>derbynetmats.properties</span>-----------------<br>
+ framework=<span class=SpellE>DerbyNet</span><br>
+ suites=<span class=SpellE>derbynetmats</span><br>
+ jdk12test=true<br>
+ runwithj9=false<br>
+ timeout=60</span></p>
+ </td>
+ </tr>
</table>
-<p>
-To add a suite, you need to create at least a &lt;suite&gt;.runall
-file, which lists the actual tests, or a properties file that refers to
-other suites that do have a .runall file. The suite should be added
-into the directory
-${derby.source}/java/testing/org/apache/derbyTesting/functionTests/ suites.<br>
-<br>
-</p>
-<h3><a name="4.9_Running_with_a_new_jvm_"></a> <a name="ov9"></a>4.9
-Running
-with a new jvm<br>
-</h3>
-<p>Currently, the supported jvms are:
-</p>
-<table style="text-align: left; width: 497px; height: 32px;" border="1"
- cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;"><small>&nbsp;&nbsp;&nbsp; jdk131
-- Sun
-HotSpot jdk1.3.1 - class: jdk13</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk141 - Sun HotSpot jdk1.4.1 - class
-jdk14</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk142 - Sun HotSpot jdk1.4.2 - class
-jdk14</small><br>
- <small>&nbsp;&nbsp;&nbsp; jdk15 - Sun HotSpot jdk1.5 - class jdk15</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm131 - IBM Classic jdk1.3.1&nbsp; -
-class ibm13</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm141 - IBM Classic jdk1.4.1 - class
-ibm14</small><br>
- <small>&nbsp;&nbsp;&nbsp; ibm142 - IBM Classic jdk1.4.1 - class
-ibm14</small><br>
- <small>&nbsp;&nbsp;&nbsp; j9_13 - WCTME jvm (available with IBM
-Websphere Client Technology Micro Edition) - class j9_13<br>
- </small></td>
- </tr>
- </tbody>
+
+<p style='margin-bottom:12.0pt'>To add a suite, you need to create at least a
+&lt;suite&gt;.<span class=SpellE>runall</span> file, which lists the actual
+tests, or a properties file that refers to other suites that do have a .<span
+class=SpellE>runall</span> file. The suite should be added into the directory
+${<span class=SpellE>derby.source</span>}/java/testing/org/apache/<span
+class=SpellE>derbyTesting/functionTests/suites</span>.</p>
+
+<h3><a name="4.9_Running_with_a_new_jvm_"></a><a name=ov9></a>4.9 Running with
+a new <span class=SpellE>jvm</span></h3>
+
+<p>Currently, the supported <span class=SpellE>jvms</span> are: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=582 style='width:436.4pt;
+ mso-cellspacing:1.5pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk131 -
+ Sun <span class=SpellE>HotSpot</span> jdk1.3.1 - class: jdk13</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk141 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.4.1 - class jdk14</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk142 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.4.2 - class jdk14</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; jdk15 - Sun <span
+ class=SpellE>HotSpot</span> jdk1.5 - class jdk15</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm131 - IBM Classic
+ jdk1.3.1&nbsp; - class ibm13</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm141 - IBM Classic
+ jdk1.4.1 - class ibm14</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; ibm142 - IBM Classic
+ jdk1.4.1 - class ibm14</span><br>
+ <span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; j9_13 - WCTME <span
+ class=SpellE>jvm</span> (available with IBM <span class=SpellE>Websphere</span>
+ Client Technology Micro Edition) - class j9_13</span></p>
+ </td>
+ </tr>
</table>
-<p>The classes above are subclasses of
-org.apache.derbyTesting.functionTests.harness.jvm. The name at the
-front is just a convention.<br>
-</p>
-<p>To run a test with a jvm that does not have a matching class under
-org.apache.derbyTesting.functionTests.harness, do the following:<br>
-</p>
-<ul>
- <li>just run the tests as if there is a jvm class. The harness will
-default to using
-the jdk14 class. Unlikely, but possibly there are no differences<br>
- </li>
- <li>if there are failures showing that cannot be explained any other
-way but genuine, acceptable jvm differences, do the following:</li>
- <ul>
- <li>create a subclass of
-org.apache.derbyTesting.functionTests.harness.jvm. In this class,
-specify any jvm specific property settings required </li>
- <li>compile the new jvm class and run the tests</li>
- <li>create a new canon directory for any additional canons that
-need to be created.</li>
- <li>in rare occasions, other harness changes may be required</li>
- <li>for any tests that should not run with this environment, add a
-line in the testname_app.properties file indicating this. For instance
-to add a line for a jvm called jdk29, it would be like this:
-runwithjdk29=false. Note that the versioning does not currently extend
-past 2 digits.</li>
- <li>Add code in RunTest.java to switch to the new jvm based on
-values for system and vendor properties</li>
- </ul>
+
+<p>The classes above are subclasses of <span class=SpellE>org.apache.derbyTesting.functionTests.harness.jvm</span>.
+The name at the front is just a convention.</p>
+
+<p>To run a test with a <span class=SpellE>jvm</span> that does not have a
+matching class under <span class=SpellE>org.apache.derbyTesting.functionTests.harness</span>,
+do the following:</p>
+
+<ul type=disc>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l0 level1 lfo17;tab-stops:list .5in'><span class=GramE>just</span>
+ run the tests as if there is a <span class=SpellE>jvm</span> class. The
+ harness will default to using the jdk14 class. Unlikely, but possibly
+ there are no differences</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+ mso-list:l0 level1 lfo17;tab-stops:list .5in'>if there are failures
+ showing that cannot be explained any other way but genuine, acceptable <span
+ class=SpellE>jvm</span> differences, do the following:</li>
+ <ul type=circle>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'><span class=GramE>create</span>
+ a subclass of <span class=SpellE>org.apache.derbyTesting.functionTests.harness.jvm</span>.
+ In this class, specify any <span class=SpellE>jvm</span> specific
+ property settings required </li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'>compile the new <span
+ class=SpellE>jvm</span> class and run the tests</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'><span class=GramE>create</span>
+ a new canon directory for any additional canons that need to be created.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'>in rare occasions,
+ other harness changes may be required</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'><span class=GramE>for</span>
+ any tests that should not run with this environment, add a line in the <span
+ class=SpellE>testname_app.properties</span> file indicating this. For
+ instance to add a line for a <span class=SpellE>jvm</span> called jdk29,
+ it would be like this: runwithjdk29=false. Note that the versioning does
+ not currently extend past 2 digits.</li>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
+ auto;mso-list:l0 level2 lfo17;tab-stops:list 1.0in'>Add code in <span
+ class=SpellE>RunTest.java</span> to switch to the new <span class=SpellE>jvm</span>
+ based on values for system and vendor properties</li>
+ </ul>
</ul>
-<br>
-<h3><a name="skipping"></a>4.10 Skipping a test</h3>
-<p>There are 2 skipping mechanisms in place for different kinds of
-skipping of a test.<br>
-</p>
-<p>Some tests are written to test specific functionality only available
-with for instance certain jvms, or, with network server, certain
-versions of the IBM Universal Driver. To control this, properties can
-be set for each test, for instance, if a test should not be run when
-using an ibm jvm, set runwithibmjvm=false. If a test should be run with
-Sun Hotspot jvm version 14, then set runwithjdk14=true.<br>
-The skip setting does not go into the subversion level, i.e. setting
-runwithjdk141=false has no effect, and setting runwithjdk14 affects
-runs with jdk141 as well as jdk142.<br>
-Other skip reasons are encryption protocols specific to a certain jvm. <br>
-</p>
-<p>Another skipping mechanism works on entire 'frameworks'. Currently
-there are only 3 supported in the harness, embedded, NetworkServer with
-the IBM Universal JDBC Driver ('DerbyNet') and NetworkServer with the
-not yet available new driver ('DerbyNetClient'). In the suites
-directory there are .exclude files for each of the frameworks - if for
-some reason an exclude file were not there, you would see a warning
-message show up for every test run. In this 'framework'.exclude file
-tests can be placed that for some reason need to be excluded from
-running with that framework. This mechanism enables adding of suites to
-a framework run even if a few of the tests are not appropriate for that
-particular framework.</p>
-<p>Note that at this time, only skipped suites show up in the .skip
-result file. This still needs to be corrected.</p>
-<br>
-<h3><a name="frameworks"></a>4.11 Frameworks</h3>
-<p>
-Currently, the only framework used is DerbyNet for network server. <br>
-Setting framework property setting will invoke the test harness class
-NetServer, which currently has configuration for connecting to DB2 via
-jcc (the IBM Universal Driver), and via the older db2 driver. But there
-are currently no tests to exercise these settings.<br>
-Setting this framework also causes the search for expected output to
-include DerbyNet and jcc version specific subdirectories under master.<br>
-</p>
-<br>
-<h3><a name="props"></a>4.12 Some test harness properties</h3>
-<p>
-For a complete set, refer to comments in RunTest.java, but here are
-some valuable test properties which can be passed to the RunTest class:
-</p>
-<table
- style="text-align: left; margin-left: 40px; width: 601px; height: 252px;"
- border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">runwith&lt;jvm&gt;<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; See above
-section <a href="#skipping">4.10</a><br>
-framework<br>
-&nbsp;&nbsp;&nbsp; specifies which framework to run with. For example:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java -Dframework=DerbyNet
-org.apache.derbyTesting.functionTests.RunTest <br>
-lang/supersimple.sql<br>
-verbose<br>
-&nbsp;&nbsp;&nbsp; Shows more detailed output. For example:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java -Dverbose=true
-org.apache.derbyTesting.functionTests.RunTest lang/arithmetic.sql<br>
-keepfiles<br>
-&nbsp; &nbsp; Indicates to not clean up any of the files if the test
-passed.<br>
-&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; java -Dkeepfiles=true
-org.apache.derbyTesting.functionTests.RunTest lang/arithmetic.sql<br>
-TestSpecialFlags<br>
-&nbsp;&nbsp;&nbsp; sets additional properties.<br>
-&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; java
--D=TestSpecialFlags=derby.infolog.append=true
-org.apache.derbyTesting.functionTests.RunTest lang/arithmetic.sql</td>
- </tr>
- </tbody>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=skipping></a>4.10 Skipping a test</h3>
+
+<p>There are 2 skipping mechanisms in place for different kinds of skipping of
+a test.</p>
+
+<p>Some tests are written to test specific functionality only available with
+for instance certain <span class=SpellE>jvms</span>, or, with network server,
+certain versions of the IBM Universal Driver. To control this, properties can
+be set for each test, for instance, if a test should not be run when using an <span
+class=SpellE><span class=GramE>ibm</span></span> <span class=SpellE>jvm</span>,
+set <span class=SpellE>runwithibmjvm</span>=false. If a test should be run with
+Sun Hotspot <span class=SpellE>jvm</span> version 14, then set
+runwithjdk14=true.<br>
+The skip setting does not go into the subversion level, i.e. setting runwithjdk141=false
+has no effect, and setting runwithjdk14 affects runs with jdk141 as well as
+jdk142.<br>
+Other skip reasons are encryption protocols specific to a certain <span
+class=SpellE>jvm</span>. </p>
+
+<p>Another skipping mechanism works on entire 'frameworks'. Currently there are
+only 3 supported in the harness, embedded, <span class=SpellE>NetworkServer</span>
+with the IBM Universal JDBC Driver ('<span class=SpellE>DerbyNet</span>') and <span
+class=SpellE>NetworkServer</span> with the not yet available new driver ('<span
+class=SpellE>DerbyNetClient</span>'). In the suites directory there are
+.exclude files for each of the frameworks - if for some reason an exclude file
+were not there, you would see a warning message show up for every test run. In
+this '<span class=SpellE>framework'.exclude</span> file tests can be placed
+that for some reason need to be excluded from running with that framework. This
+mechanism enables adding of suites to a framework run even if a few of the
+tests are not appropriate for that particular framework.</p>
+
+<p>Note that at this time, only skipped suites show up in the .skip result
+file. This still needs to be corrected.</p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=frameworks></a>4.11 Frameworks</h3>
+
+<p>Currently, there are <span class=GramE>two <span
+style='mso-spacerun:yes'>Â</span>frameworks</span> <span
+style='mso-spacerun:yes'>Â</span><span style='mso-spacerun:yes'>Â</span>for
+network server, which are <span style='mso-spacerun:yes'>Â</span><span
+class=SpellE>DerbyNet</span> and <span class=SpellE>DerbyNetClient</span>.<br>
+Setting framework property setting to <span class=SpellE>DerbyNet</span> <span
+style='mso-spacerun:yes'>Â</span>will invoke the test harness class <span
+class=SpellE>NetServer</span>, which currently has configuration for connecting
+to DB2 via <span class=SpellE>jcc</span> (the IBM Universal Driver), and via
+the older db2 driver. But there are currently no tests to exercise these
+settings.<br>
+Setting this framework also causes the search for expected output to include <span
+class=SpellE>DerbyNet</span> and <span class=SpellE>jcc</span> version specific
+subdirectories under master.</p>
+
+<p>Setting the framework to <span class=SpellE>DerbyNetClient</span> will
+invoke the test harness to use the configuration for the Derby Client.<span
+style='mso-spacerun:yes'>Â </span>An example is </p>
+
+<p><span class=GramE>java</span> &#8211;<span class=SpellE>Dframework</span>=<span
+class=SpellE>DerbyNetClient</span> <span class=SpellE>org.apache.derbyTesting.functionTests.harness.RunSuite</ span>
+<span class=SpellE>derbynetclientmats</span></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<h3><a name=props></a>4.12 Some test harness properties</h3>
+
+<p>For a complete set, refer to comments in <span class=SpellE>RunTest.java</span>,
+but here are some valuable test properties which can be passed to the <span
+class=SpellE>RunTest</span> class: </p>
+
+<table class=MsoNormalTable border=1 cellpadding=0 width=704 style='width:527.7pt;
+ mso-cellspacing:1.5pt;margin-left:35.1pt;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
+ <td valign=top style='padding:1.5pt 1.5pt 1.5pt 1.5pt'>
+ <p class=MsoNormal><span class=SpellE><span class=GramE>runwith</span></span><span
+ class=GramE>&lt;</span><span class=SpellE>jvm</span>&gt;<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; See above section <a href="#skipping">4.10</a><br>
+ framework<br>
+ &nbsp;&nbsp;&nbsp; specifies which framework to run with. For example:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java -<span class=SpellE>Dframework</span>=<span
+ class=SpellE>DerbyNet</span> <span class=SpellE>org.apache.derbyTesting.functionTests.RunTest</span>
+ <br>
+ <span class=SpellE>lang/supersimple.sql</span><br>
+ verbose<br>
+ &nbsp;&nbsp;&nbsp; Shows more detailed output. For example:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java -<span class=SpellE>Dverbose</span>=true
+ <span class=SpellE>org.apache.derbyTesting.functionTests.RunTest</span> <span
+ class=SpellE>lang/arithmetic.sql</span><br>
+ <span class=SpellE>keepfiles</span><br>
+ &nbsp; &nbsp; Indicates to not clean up any of the files if the test passed.<br>
+ &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <span class=GramE>java</span> -<span
+ class=SpellE>Dkeepfiles</span>=true <span class=SpellE>org.apache.derbyTesting.functionTests.RunTest</span>
+ <span class=SpellE>lang/arithmetic.sql</span><br>
+ <span class=SpellE>TestSpecialFlags</span><br>
+ &nbsp;&nbsp;&nbsp; sets additional properties.<br>
+ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; java -D=<span class=SpellE>TestSpecialFlags</span>=<span
+ class=SpellE>derby.infolog.append</span>=true <span class=SpellE>org.apache.derbyTesting.functionTests.RunTest</span>
+ <span class=SpellE>lang/arithmetic.sql</span></p>
+ </td>
+ </tr>
</table>
-<br>
-<br>
-<h3><br>
-</h3>
-<br>
-<br>
+
+<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>
+
+<h3><o:p>&nbsp;</o:p></h3>
+
+<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>
+
<h2>Notes</h2>
-<small><a name="Note1:"></a> Note1:<br>
-</small>
-<div style="margin-left: 40px;"><small>There is one more suite
-included: the j9derbynetmats
-suite is a modification of the derbynetmats suite. It is available to
-test
-the network server with the jvm available with IBM's WCTME (Workplace
-Client Technology, Micro Edition; formerly WSDD), and will be run at IBM</small><small>.
-Note that the setup for running the j9derbynetmats
-tests is very specific to the test harness, not even using the WCTME
-files in their normal location.</small><small> <br>
-The j9derbynetmats suite is included to serve as an
-example of splitting the network server process to run with a different
-jvm than the test client. The j9derbynetmats suite will run with
-another
-jvm
-as client (as defined in the suite properties), but start up
-network server with the 'j9' jvm files (the reference to 'j9' is based
-on the executable, j9.exe), based on the property 'serverJvm'. Running
-this suite requires providing the property&nbsp; bootcp,
-which is&nbsp; interpreted from the test harness class j9_13. See also
-section on adding a new <a href="#ov9%22">jvm setup</a>.
-<br>
-Another suite is derbynetclientmats. This suite is for testing the
-networkserver with a yet to be contributed open source client. IBM
-staff is working on contributing this. In essence it is the same as the
-derbynetmats suite.&nbsp; At this time, it can only be run by the IBM
-staff working on this driver.<br>
-</small></div>
-<br>
-<small><a name="Note2:"></a>Note2:<br>
-</small>
-<div style="margin-left: 40px;"><small>setting
-RetrieveMessagesFromServerOnGetMessage to true
-for the test harness is purely for
-illustration, the test harness actually forces
-RetrieveMessagesFromServerOnGetMessage to true for the tests so the
-output is always as expected.</small><br>
+
+<p class=MsoNormal><a name="Note1:"></a><span style='font-size:10.0pt'>Note1:</span></p>
+
+<div style='margin-left:35.1pt'>
+
+<p class=MsoNormal><span style='font-size:10.0pt'>There is one more suite
+included: the j9derbynetmats suite is a modification of the <span class=SpellE>derbynetmats</span>
+suite. It is available to test the network server with the <span class=SpellE>jvm</span>
+available with IBM's WCTME (Workplace Client Technology, Micro Edition;
+formerly WSDD), and will be run at IBM. Note that the setup for running the j9derbynetmats
+tests is very specific to the test harness, not even using the WCTME files in
+their normal location. <br>
+The j9derbynetmats suite is included to serve as an example of splitting the
+network server process to run with a different <span class=SpellE>jvm</span>
+than the test client. The j9derbynetmats suite will run with another <span
+class=SpellE>jvm</span> as client (as defined in the suite properties), but
+start up network server with the 'j9' <span class=SpellE>jvm</span> files (the
+reference to 'j9' is based on the executable, j9.exe), based on the property '<span
+class=SpellE>serverJvm</span>'. Running this suite requires providing the
+property<span class=GramE>&nbsp; <span class=SpellE>bootcp</span></span>, which
+is&nbsp; interpreted from the test harness class j9_13. See also section on
+adding a new <a href="#ov9%22"><span class=SpellE>jvm</span> setup</a>. <br>
+
</div>
-<br>
-<small><a name="Note3:_"></a>Note3: <br>
-</small>
-<div style="margin-left: 40px;"><small>occasionally, cleanup is
-unsuccessful. This does not
-constitute a problem in any way, as the harness starts with a clean
-database, and clean copies of all files. However, you will see
-something like this in the output:</small><br>
-<small>Warning: Cleanup failed on baseDir:
-/local/myrun1/DerbyNet/supersimple</small><br>
+
+<p class=MsoNormal><br>
+<a name="Note2:"></a><span style='font-size:10.0pt'>Note2:</span></p>
+
+<div style='margin-left:35.1pt'>
+
+<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>setting</span></span><span
+style='font-size:10.0pt'> <span class=SpellE>RetrieveMessagesFromServerOnGetMessage</span>
+to true for the test harness is purely for illustration, the test harness
+actually forces <span class=SpellE>RetrieveMessagesFromServerOnGetMessage</span>
+to true for the tests so the output is always as expected.</span></p>
+
</div>
-<br>
+
+<p class=MsoNormal><br>
+<a name="Note3:_"></a><span style='font-size:10.0pt'>Note3: </span></p>
+
+<div style='margin-left:35.1pt'>
+
+<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>occasionally</span></span><span
+style='font-size:10.0pt'>, cleanup is unsuccessful. This does not constitute a
+problem in any way, as the harness starts with a clean database, and clean
+copies of all files. However, you will see something like this in the output<span
+class=GramE>:</span></span><br>
+<span style='font-size:10.0pt'>Warning: Cleanup failed on <span class=SpellE>baseDir</span>:
+/local/myrun1/DerbyNet/supersimple</span></p>
+
+</div>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
</body>
+
</html>
Index: BUILDING.txt
===================================================================
--- BUILDING.txt (revision 161156)
+++ BUILDING.txt (working copy)
@@ -367,6 +367,7 @@
- derbytools.jar (utilities: sysinfo, dblook, ij)
- derbynet.jar (network server).
- derbyLocale_*.jar (9 jar files with locale support).
+ - derbyclient.jar (derby network client)
If the tests were built, the following jar file will also be built:
- derbyTesting.jar (the test framework and related files)


@@ -377,6 +378,7 @@
- command "ant derbynetjar" to build derbynet.jar
- command "ant derbylocalejars" to build the derby locale jar files.
- command "ant derbytestingjar" to build derbyTesting.jar
+ - command "ant derbyclientjar" to build derbyclient.jar


 Notes:
 (1) The estimated total time for build completion is ~5-10 minutes.
Index: build.xml
===================================================================
--- build.xml   (revision 161156)
+++ build.xml   (working copy)
@@ -21,7 +21,7 @@

 <!-- Targets -->

- <target name="buildsource" depends="init,engine,tools,drda,build,versioninfo,localeinfo"/>
+ <target name="buildsource" depends="init,engine,tools,drda,client,build,versioninfo,localeinfo"/>
<target name="all" depends="buildsource,demo,testing"/>


<!-- ==================================================================== -->
@@ -74,6 +74,7 @@
<available file="${out.dir}/org/apache/derby/info/DBMS.properties"/>
<available file="${out.dir}/org/apache/derby/info/tools.properties"/>
<available file="${out.dir}/org/apache/derby/info/net.properties"/>
+ <available file="${out.dir}/org/apache/derby/info/dnc.properties"/>
</and>
</condition>
</target>
@@ -102,12 +103,20 @@
<param name="info.productfile" value="codeline"/>
<param name="info.file" value="${out.dir}/org/apache/derby/info/net.properties"/>
</antcall>
+ <antcall target="infowriter">
+ <param name="info.buildnumber" value="1"/>
+ <param name="info.iname" value="Apache Derby Network Client"/>
+ <param name="info.ename" value="Apache Derby"/>
+ <param name="info.productfile" value="codeline"/>
+ <param name="info.file" value="${out.dir}/org/apache/derby/info/dnc.properties"/>
+ </antcall>
</target>


<target name="cleanversion">
<delete file="${out.dir}/org/apache/derby/info/DBMS.properties"/>
<delete file="${out.dir}/org/apache/derby/info/tools.properties"/>
<delete file="${out.dir}/org/apache/derby/info/net.properties"/>
+ <delete file="${out.dir}/org/apache/derby/info/dnc.properties"/>
</target>
<!-- ==================================================================== -->
<!-- Info writer build target -->
@@ -267,6 +276,10 @@
<ant dir="${derby.drda.src.dir}"/>
</target>


+ <target name="client" depends="engine,init">
+ <ant dir="${derby.client.src.dir}"/>
+ </target>
+
<target name="build">
<ant dir="${derby.build.src.dir}"/>
</target>
@@ -493,6 +506,7 @@
<fileset dir="${derby.drda.src.dir}"
includesfile="${javadoctools.dir}/publishedapi.ant"/>
</copy>
+

<!-- engine files -->
<copy todir="${out.javadoc.dir}/sourcedir">
@@ -634,8 +648,8 @@
<!-- Jar targets -->
<!-- =================================================================== -->


- <target name="buildjarsclean" depends="cleanjars,initjars,derbyjar,derbytoolsjar,derbynetjar,derbywar ,derbylocalejars,derbytestingjar"/>
- <target name="buildjars" depends="initjars,derbyjar,derbytoolsjar,derbynetjar,derbywar,derbyloca lejars,derbytestingjar"/>
+ <target name="buildjarsclean" depends="cleanjars,initjars,derbyjar,derbytoolsjar,derbynetjar,derbycli entjar,derbywar,derbylocalejars,derbytestingjar"/>
+ <target name="buildjars" depends="initjars,derbyjar,derbytoolsjar,derbynetjar,derbyclientjar,der bywar,derbylocalejars,derbytestingjar"/>


<target name="initjars" depends="setsanityname,getsvnversion">
<property name="derby.jar.dir" value="${basedir}/jars/${sanity.name}"/>
@@ -887,6 +901,45 @@


   </target>

+<!-- - - - - - - - - - - - - - derbyclient.jar target - - - - - - - - -->
+
+ <target name="derbyclientjar" depends="setsanityname,initjars">
+
+ <echo message="Beginning derbyclient.jar ${sanity.name} build"/>
+
+ <echo message=" creating new dnc.properties file "/>
+
+ <mkdir dir="${out.dir}/org/apache/derby/info/"/>
+ <antcall target="infowriter">
+ <param name="info.buildnumber" value="${changenumber}"/>
+ <param name="info.iname" value="Apache Derby Network Client"/>
+ <param name="info.ename" value="Apache Derby"/>
+ <param name="info.productfile" value="codeline"/>
+ <param name="info.file" value="${out.dir}/org/apache/derby/info/dnc.properties"/>
+ </antcall>
+
+ <!-- copy license file to lists dir for inclusion in derbyclient.jar -->
+
+ <mkdir dir="${derby.jar.dir}/lists/META-INF"/>
+ <copy todir="${derby.jar.dir}/lists/META-INF">
+ <fileset dir="${basedir}" includes="LICENSE*,NOTICE*,COPYRIGHT*"/>
+ </copy>
+
+ <delete file="${derby.jar.dir}/derbyclient.jar"/>
+
+ <jar destfile="${derby.jar.dir}/derbyclient.jar"
+ compress="true"
+ filesonly="true"
+ update="true">
+ <fileset dir="${out.dir}"
+ includes="org/apache/derby/client/**,
+ org/apache/derby/client/jdbc/Client**,org/apache/derby/jdbc/ Client**,org/apache/derby/iapi/services/info/**
+ org/apache/derby/info/dnc.properties"/>
+ <fileset dir="${derby.jar.dir}/lists"
+ includes="META-INF/**"/>
+ </jar>
+ </target>
+
<!-- - - - - - - - - - - - - - derby.war target - - - - - - - - - - - -->


  <target name="derbywar" depends="initjars">

--
Geir Magnusson Jr                                  +1-203-665-6437
[EMAIL PROTECTED]



Reply via email to