You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2006/09/29 14:06:37 UTC
svn commit: r451255 - in
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests:
suites/ tests/jdbcapi/
Author: kahatlen
Date: Fri Sep 29 05:06:36 2006
New Revision: 451255
URL: http://svn.apache.org/viewvc?view=rev&rev=451255
Log:
DERBY-1889: Convert jdbcapi/lobStreams.java to JUnit
Patch contributed by Fernanda Pizzorno.
Added:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java (with props)
Removed:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/lobStreams.java
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/encodingTests.runall
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall?view=diff&rev=451255&r1=451254&r2=451255
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall Fri Sep 29 05:06:36 2006
@@ -1,7 +1,6 @@
junitTests/derbyNet/CompatibilityTest.java
jdbcapi/xaSimplePositive.sql
jdbcapi/xaStateTran.sql
-jdbcapi/lobStreams.java
jdbcapi/XATest.java
jdbcapi/checkDataSource.java
derbynet/ByteArrayCombinerStreamTest.junit
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/encodingTests.runall
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/encodingTests.runall?view=diff&rev=451255&r1=451254&r2=451255
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/encodingTests.runall (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/encodingTests.runall Fri Sep 29 05:06:36 2006
@@ -1,4 +1,4 @@
-jdbcapi/lobStreams.java
derbynet/TestEnc.java
derbynet/callable.java
jdbcapi/parameterMapping.java
+jdbcapi/LobStreamsTest.junit
Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java?view=auto&rev=451255
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java Fri Sep 29 05:06:36 2006
@@ -0,0 +1,508 @@
+/*
+ *
+ * Derby - Class LobStreamsTest
+ *
+ * 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.
+ */
+package org.apache.derbyTesting.functionTests.tests.jdbcapi;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.derbyTesting.functionTests.util.streams.LoopingAlphabetStream;
+import org.apache.derbyTesting.junit.BaseJDBCTestCase;
+
+public class LobStreamsTest extends BaseJDBCTestCase {
+
+ int[] streamSize = new int[2];
+ private final String unicodeTestString =
+ "This is a test string containing a few non-ascii characters:\n " +
+ "\u00E6\u00F8\u00E5 and \u00C6\u00D8\u00C5 are used in " +
+ "norwegian: 'Bl\u00E5b\u00E6rsyltet\u00F8y' means 'blueberry jam'" +
+ ", and tastes great on pancakes. =)";
+
+ {
+ streamSize[0] = 300000;
+ streamSize[1] = 10000;
+ }
+
+ private Connection con = null;
+
+
+ /** Creates a new instance of LobStreamsTest */
+ public LobStreamsTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Set up the connection to the database.
+ */
+ public void setUp() throws Exception {
+ con = getConnection();
+ con.setAutoCommit(false);
+
+ Statement stmt1 = con.createStatement();
+ stmt1.execute("create table testBlobX1 (" +
+ "a integer, " +
+ "b blob(300K), " +
+ "c clob(300K))");
+ stmt1.close();
+
+ byte[] b2 = new byte[1];
+ b2[0] = (byte)64;
+ String c2 = "c";
+ PreparedStatement stmt2 = con.prepareStatement(
+ "INSERT INTO testBlobX1(a, b, c) " +
+ "VALUES (?, ?, ?)");
+ stmt2.setInt(1, 1);
+ stmt2.setBytes(2, b2);
+ stmt2.setString(3, c2);
+ stmt2.execute();
+ stmt2.close();
+ }
+
+ /**
+ * Tests the BlobOutputStream.write(byte b[], int off, int len) method
+ **/
+ public void testBlobWrite3Param() throws Exception {
+ InputStream streamIn = new LoopingAlphabetStream(streamSize[0]);
+ assertTrue("FAIL -- file not found", streamIn != null);
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT b FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Blob blob = rs3.getBlob(1);
+
+ assertTrue ("FAIL -- blob is NULL", (blob != null));
+
+ int count = 0;
+ byte[] buffer = new byte[1024];
+ OutputStream outstream = blob.setBinaryStream(1L);
+ while ((count = streamIn.read(buffer)) != -1) {
+ outstream.write(buffer, 0, count);
+ }
+ outstream.close();
+ streamIn.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET b = ? WHERE a = 1");
+ stmt4.setBlob(1, blob);
+ stmt4.executeUpdate();
+ stmt4.close();
+ rs3.close();
+
+ rs3 = stmt3.executeQuery();
+ assertTrue("FAIL -- blob not found", rs3.next());
+
+ long new_length = rs3.getBlob(1).length();
+ assertEquals("FAIL -- wrong blob length;",
+ streamSize[0], new_length);
+
+ // Check contents ...
+ InputStream fStream = new LoopingAlphabetStream(streamSize[0]);
+ InputStream lStream = rs3.getBlob(1).getBinaryStream();
+ assertTrue("FAIL - Blob and file contents do not match",
+ compareLob2File(fStream, lStream));
+
+ fStream.close();
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the BlobOutputStream.write(int b) method
+ **/
+ public void testBlobWrite1Param() throws Exception {
+ InputStream streamIn = new LoopingAlphabetStream(streamSize[1]);
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT b FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Blob blob = rs3.getBlob(1);
+
+ assertTrue("FAIL -- blob is NULL", blob != null);
+
+ int buffer;
+ OutputStream outstream = blob.setBinaryStream(1L);
+ while ((buffer = streamIn.read()) != -1) {
+ outstream.write(buffer);
+ }
+ outstream.close();
+ streamIn.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET b = ? WHERE a = 1");
+ stmt4.setBlob(1, blob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+
+ assertTrue("FAIL -- blob not found", rs3.next());
+
+ long new_length = rs3.getBlob(1).length();
+ assertEquals("FAIL -- wrong blob length", streamSize[1], new_length);
+
+ // Check contents ...
+ InputStream fStream = new LoopingAlphabetStream(streamSize[1]);
+ InputStream lStream = rs3.getBlob(1).getBinaryStream();
+ assertTrue("FAIL - Blob and file contents do not match",
+ compareLob2File(fStream, lStream));
+
+ fStream.close();
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobOutputStream.write(int b) method
+ **/
+ public void testClobAsciiWrite1Param() throws Exception
+ {
+ InputStream streamIn = new LoopingAlphabetStream(streamSize[1]);
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+
+ assertTrue("FAIL -- clob is NULL", clob != null);
+ int buffer;
+ OutputStream outstream = clob.setAsciiStream(1L);
+ while ((buffer = streamIn.read()) != -1) {
+ outstream.write(buffer);
+ }
+ outstream.close();
+ streamIn.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+ assertTrue("FAIL -- clob not found", rs3.next());
+
+ long new_length = rs3.getClob(1).length();
+ assertEquals("FAIL -- wrong clob length", streamSize[1], new_length);
+
+ // Check contents ...
+ InputStream fStream = new LoopingAlphabetStream(streamSize[1]);
+ InputStream lStream = rs3.getClob(1).getAsciiStream();
+ assertTrue("FAIL - Clob and file contents do not match", compareLob2File(fStream, lStream));
+ fStream.close();
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobOutputStream.write(byte b[], int off, int len) method
+ **/
+ public void testClobAsciiWrite3Param() throws Exception {
+ InputStream streamIn = new LoopingAlphabetStream(streamSize[0]);
+ assertTrue("FAIL -- file not found", streamIn != null);
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+
+ assertTrue("FAIL -- clob is NULL", clob != null);
+
+ int count = 0;
+ byte[] buffer = new byte[1024];
+ OutputStream outstream = clob.setAsciiStream(1L);
+ while ((count = streamIn.read(buffer)) != -1) {
+ outstream.write(buffer, 0, count);
+ }
+ outstream.close();
+ streamIn.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+
+ assertTrue("FAIL -- clob not found", rs3.next());
+
+ long new_length = rs3.getClob(1).length();
+ assertEquals("FAIL -- wrong clob length",
+ streamSize[0], new_length);
+ // Check contents ...
+ InputStream fStream = new LoopingAlphabetStream(streamSize[0]);
+ InputStream lStream = rs3.getClob(1).getAsciiStream();
+ assertTrue("FAIL - Clob and file contents do not match",
+ compareLob2File(fStream, lStream));
+
+ fStream.close();
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobWriter.write(char cbuf[], int off, int len) method
+ **/
+ public void testClobCharacterWrite3ParamChar() throws Exception
+ {
+ char[] testdata = unicodeTestString.toCharArray();
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+ assertTrue("FAIL -- clob is NULL", clob != null);
+ Writer clobWriter = clob.setCharacterStream(1L);
+ clobWriter.write(testdata, 0, testdata.length);
+ clobWriter.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+
+ assertTrue("FAIL -- clob not found", rs3.next());
+ long new_length = rs3.getClob(1).length();
+ assertEquals("FAIL -- wrong clob length",
+ testdata.length, new_length);
+
+ // Check contents ...
+ Reader lStream = rs3.getClob(1).getCharacterStream();
+ assertTrue("FAIL - Clob and buffer contents do not match",
+ compareClobReader2CharArray(testdata, lStream));
+
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobWriter.write(String str, int off, int len) method
+ **/
+ public void testClobCharacterWrite3ParamString() throws Exception
+ {
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+ assertTrue("FAIL -- clob is NULL", clob != null);
+ Writer clobWriter = clob.setCharacterStream(1L);
+ clobWriter.write(unicodeTestString, 0, unicodeTestString.length());
+ clobWriter.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+ assertTrue("FAIL -- clob not found", rs3.next());
+ long new_length = rs3.getClob(1).length();
+ assertEquals("FAIL -- wrong clob length", unicodeTestString.length(), new_length);
+
+ // Check contents ...
+ Reader lStream = rs3.getClob(1).getCharacterStream();
+ assertTrue("FAIL - Clob and buffer contents do not match",
+ compareClobReader2CharArray(
+ unicodeTestString.toCharArray(),
+ lStream));
+
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobWriter.write(String str) method
+ **/
+ public void testClobCharacterWrite1ParamString() throws Exception
+ {
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+ assertTrue("FAIL -- clob is NULL", clob != null);
+ Writer clobWriter = clob.setCharacterStream(1L);
+ clobWriter.write(unicodeTestString);
+ clobWriter.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+ assertTrue("FAIL -- clob not found", rs3.next());
+ long new_length = rs3.getClob(1).length();
+ assertEquals("FAIL -- wrong clob length", unicodeTestString.length(), new_length);
+
+ // Check contents ...
+ Reader lStream = rs3.getClob(1).getCharacterStream();
+ assertTrue("FAIL - Clob and buffer contents do not match",
+ compareClobReader2CharArray(
+ unicodeTestString.toCharArray(),
+ lStream));
+
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ /**
+ * Tests the ClobWriter.write(int c) method
+ **/
+ public void testClobCharacterWrite1Char() throws Exception
+ {
+ char testchar = 'a';
+
+ PreparedStatement stmt3 = con.prepareStatement(
+ "SELECT c FROM testBlobX1 WHERE a = 1");
+ ResultSet rs3 = stmt3.executeQuery();
+ rs3.next();
+ Clob clob = rs3.getClob(1);
+
+ assertTrue ("FAIL -- clob is NULL", clob != null);
+ Writer clobWriter = clob.setCharacterStream(1L);
+ clobWriter.write(testchar);
+ clobWriter.close();
+
+ PreparedStatement stmt4 = con.prepareStatement(
+ "UPDATE testBlobX1 SET c = ? WHERE a = 1");
+ stmt4.setClob(1, clob);
+ stmt4.executeUpdate();
+ stmt4.close();
+
+ rs3.close();
+ rs3 = stmt3.executeQuery();
+ assertTrue("FAIL -- clob not found", rs3.next());
+ long new_length = rs3.getClob(1).length();
+ Clob fish = rs3.getClob(1);
+ assertEquals("FAIL -- wrong clob length", 1, new_length);
+ // Check contents ...
+ Reader lStream = rs3.getClob(1).getCharacterStream();
+ char clobchar = (char) lStream.read();
+ assertEquals("FAIL - fetched Clob and original contents do " +
+ "not match", testchar, clobchar);
+
+ lStream.close();
+ rs3.close();
+ stmt3.close();
+ }
+
+ public static Test suite() {
+ final TestSuite suite = new TestSuite();
+
+ // Run with DerbyNetClient only
+ if (usingDerbyNetClient()) {
+ suite.addTest(new LobStreamsTest("testBlobWrite1Param"));
+ suite.addTest(new LobStreamsTest("testBlobWrite3Param"));
+ suite.addTest(new LobStreamsTest("testClobAsciiWrite1Param"));
+ suite.addTest(new LobStreamsTest("testClobAsciiWrite3Param"));
+ suite.addTest(new
+ LobStreamsTest("testClobCharacterWrite1Char"));
+ suite.addTest(new
+ LobStreamsTest("testClobCharacterWrite1ParamString"));
+ suite.addTest(new
+ LobStreamsTest("testClobCharacterWrite3ParamChar"));
+ suite.addTest(new
+ LobStreamsTest("testClobCharacterWrite3ParamString"));
+ }
+
+ return suite;
+ }
+
+
+ private boolean compareLob2File(
+ InputStream fStream,
+ InputStream lStream) throws Exception
+ {
+ byte[] fByte = new byte[1024];
+ byte[] lByte = new byte[1024];
+ int lLength = 0, fLength = 0;
+ String fString, lString;
+
+ do {
+ fLength = fStream.read(fByte, 0, 1024);
+ lLength = lStream.read(lByte, 0, 1024);
+ if (!java.util.Arrays.equals(fByte, lByte))
+ return false;
+ } while (fLength > 0 && lLength > 0);
+
+ fStream.close();
+ lStream.close();
+
+ return true;
+ }
+
+ private boolean compareClobReader2CharArray(
+ char[] cArray,
+ Reader charReader) throws Exception
+ {
+ char[] clobChars = new char[cArray.length];
+
+ int readChars = 0;
+ int totalCharsRead = 0;
+
+ do {
+ readChars = charReader.read(clobChars, totalCharsRead, cArray.length - totalCharsRead);
+ if (readChars != -1)
+ totalCharsRead += readChars;
+ } while (readChars != -1 && totalCharsRead < cArray.length);
+ charReader.close();
+ if (!java.util.Arrays.equals(cArray, clobChars))
+ return false;
+
+ return true;
+ }
+
+}
Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LobStreamsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java?view=diff&rev=451255&r1=451254&r2=451255
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/_Suite.java Fri Sep 29 05:06:36 2006
@@ -64,6 +64,7 @@
if (JDBC.vmSupportsJDBC3() || JDBC.vmSupportsJSR169())
{
suite.addTest(ScrollResultSetTest.suite());
+ suite.addTest(LobStreamsTest.suite());
}
if (TestConfiguration.runningInDerbyHarness())
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml?view=diff&rev=451255&r1=451254&r2=451255
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml Fri Sep 29 05:06:36 2006
@@ -119,7 +119,7 @@
<exclude name="${this.dir}/savepointJdbc30_JSR169.java"/>
<exclude name="${this.dir}/savepointJdbc30_XA.java"/>
<exclude name="${this.dir}/xaJNDI.java"/>
- <exclude name="${this.dir}/lobStreams.java"/>
+ <exclude name="${this.dir}/LobStreamsTest.java"/>
<exclude name="${this.dir}/XATest.java"/>
<exclude name="${this.dir}/ScrollResultSetTest.java"/>
<exclude name="${this.dir}/_Suite.java"/>
@@ -153,7 +153,7 @@
<include name="${this.dir}/parameterMetaDataJdbc30.java"/>
<include name="${this.dir}/resultsetJdbc30.java"/>
<include name="${this.dir}/statementJdbc30.java"/>
- <include name="${this.dir}/lobStreams.java"/>
+ <include name="${this.dir}/LobStreamsTest.java"/>
<include name="${this.dir}/XATest.java"/>
<include name="${this.dir}/ScrollResultSetTest.java"/>
</javac>