blob: 40283c7008bbda93e79528788170fc153e5c4336 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html>
<html>
<head>
<title>Package documentation for
org.apache.derbyTesting.functionTests.tests.compatibility</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Classes used to test the compatibility between different versions
of Derby clients and Derby servers. The main entry point is the
<tt>_Suite</tt> class, with the other suites as alternatives giving
more test coverage in terms of the number of combinations tested.</p>
<p>The MATS version of the compatibility test should be run as part of
<tt>suites.All</tt>. It is your responsibility to keep the local
release repository up to date (the default location is
<tt>$HOME/.derbyTestingReleases/</tt>, this can be overridden by using
<tt>derbyTesting.oldReleasePath</tt>).</p>
<p>For non-default runs, the following steps should be considered:</p>
<ol> <li>Update the release repository (typically a <tt>svn up</tt>)</li>
<li>If you want to run the LOB tests, set
<tt>derby.tests.compat.testLOBs</tt> to <tt>true</tt>. Note
that this will add around five minutes of runtime to each
combination</li>
<li>If you want to include only a specific set of releases, set
<tt>derby.tests.compat.includeReleases</tt>. The format is
<tt>M.m.f.p[,M.m.f.p]*</tt>, for instance
<tt>10.9.1.0,10.8.2.2</tt>.</li>
<li>If you want to exclude certain releases, set
<tt>derby.tests.compat.excludeReleases</tt>. The format is the
same as for the include option above.</li>
<li>Run the suite that best fits your needs; MATS, dev full, old,
or old full.</li>
</ol>
<p>Note that the set of combinations computed depends on the old Derby
releases that are available through the release repository. For this
reason it is important to keep the local repository updated. Once
initialized, i.e <tt>svn co http://svn.apache.org/repos/asf/db/derby/jars
$HOME/.derbyTestingReleases</tt>, you only have to update it each time
a new Derby release comes out.</p>
<p>Testing the compatibility between a given client driver and a given
server is best done by running those two components in separate
processes. This simplifies handling multiple versions of the code base,
but introduces some challenges for properly handling the external
processes.</p>
</body>
</html>