1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-07 11:49:40 +00:00

Unbreak by adding another patch from the vendor.

This commit is contained in:
Mikhail Teterin 2006-11-23 06:21:16 +00:00
parent 8f2185f946
commit 91a9c66859
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=177865
2 changed files with 137 additions and 4 deletions

View File

@ -19,8 +19,6 @@ OPTIONS= TEST "Run the self-tests after building automatically" on
BUILD_DEPENDS= ${JAVALIBDIR}/junit.jar:${PORTSDIR}/java/junit
BROKEN= Self-tests fail
USE_JAVA= yes
JAVA_VERSION= 1.5+
USE_ANT= yes
@ -52,7 +50,8 @@ test:
post-build: test
#
# Please, review the reported failures (if any) and consider
# reporting them to the developers at support@sleepycat.com
# reporting them to the developers via:
# http://forums.oracle.com/forums/forum.jspa?forumID=273
# You can re-run the tests without rebuilding the port by
# simply doing `make test'
#

View File

@ -1,8 +1,8 @@
This are temporary work-arounds for spurious test failures. See the discussions at
http://forums.oracle.com/forums/thread.jspa?threadID=431242
and
http://forums.oracle.com/forums/thread.jspa?threadID=431549
http://forums.oracle.com/forums/thread.jspa?threadID=446837
The last one appears somewhat scary, but SleepyCat/Oracle's support assures me, the problem
can be ignored as it has to do with the test framework and not the software itself.
@ -34,3 +34,137 @@ can be ignored as it has to do with the test framework and not the software itse
+ public void meowCleaning2000()
throws Throwable {
Index: test/com/sleepycat/je/cleaner/ReadOnlyLockingTest.java
===================================================================
diff -c -r1.7 ReadOnlyLockingTest.java
*** test/com/sleepycat/je/cleaner/ReadOnlyLockingTest.java 12 Sep 2006 19:17:14 -0000 1.7
--- test/com/sleepycat/je/cleaner/ReadOnlyLockingTest.java 23 Nov 2006 00:07:40 -0000
***************
*** 36,41 ****
--- 35,41 ----
public class ReadOnlyLockingTest extends TestCase {
private static final int FILE_SIZE = 4096;
+ private static final int READER_STARTUP_SECS = 30;
private static final CheckpointConfig forceConfig = new CheckpointConfig();
static {
***************
*** 48,53 ****
--- 48,72 ----
private Database db;
private Process readerProcess;
+ private static File getProcessFile() {
+ return new File(System.getProperty(TestUtils.DEST_DIR),
+ "ReadOnlyProcessFile");
+ }
+
+ private static void deleteProcessFile() {
+ File file = getProcessFile();
+ file.delete();
+ TestCase.assertTrue(!file.exists());
+ }
+
+ static void createProcessFile()
+ throws IOException {
+
+ File file = getProcessFile();
+ TestCase.assertTrue(file.createNewFile());
+ TestCase.assertTrue(file.exists());
+ }
+
public ReadOnlyLockingTest() {
envHome = new File(System.getProperty(TestUtils.DEST_DIR));
}
***************
*** 55,60 ****
--- 74,81 ----
public void setUp()
throws IOException, DatabaseException {
+ deleteProcessFile();
+
TestUtils.removeLogFiles("Setup", envHome, false);
TestUtils.removeFiles("Setup", envHome, FileManager.DEL_SUFFIX);
}
***************
*** 62,67 ****
--- 83,90 ----
public void tearDown()
throws IOException, DatabaseException {
+ deleteProcessFile();
+
try {
stopReaderProcess();
} catch (Throwable e) {
***************
*** 219,228 ****
ReadOnlyProcess.class.getName(),
};
! /* Start it and give it a chance to open the environment. */
readerProcess = Runtime.getRuntime().exec(cmd);
! Thread.sleep(2000);
//printReaderStatus();
}
private void stopReaderProcess()
--- 242,264 ----
ReadOnlyProcess.class.getName(),
};
! /* Start it and wait for it to open the environment. */
readerProcess = Runtime.getRuntime().exec(cmd);
! long startTime = System.currentTimeMillis();
! boolean running = false;
! while (!running &&
! ((System.currentTimeMillis() - startTime) <
! (READER_STARTUP_SECS * 1000))) {
! if (getProcessFile().exists()) {
! running = true;
! } else {
! Thread.sleep(10);
! }
! }
//printReaderStatus();
+ assertTrue("ReadOnlyProcess did not start after " +
+ READER_STARTUP_SECS + " + secs",
+ running);
}
private void stopReaderProcess()
Index: test/com/sleepycat/je/cleaner/ReadOnlyProcess.java
===================================================================
*** test/com/sleepycat/je/cleaner/ReadOnlyProcess.java 12 Sep 2006 19:17:14 -0000 1.5
--- test/com/sleepycat/je/cleaner/ReadOnlyProcess.java 23 Nov 2006 00:07:40 -0000
***************
*** 16,22 ****
import com.sleepycat.je.util.TestUtils;
/**
! * @see ReadOnlyLockerTest
*/
public class ReadOnlyProcess {
--- 15,21 ----
import com.sleepycat.je.util.TestUtils;
/**
! * @see ReadOnlyLockingTest
*/
public class ReadOnlyProcess {
***************
*** 36,41 ****
--- 35,43 ----
//System.err.println("Opened read-only: " + envHome);
//System.err.println(System.getProperty("java.class.path"));
+
+ /* Notify the test that this process has opened the environment. */
+ ReadOnlyLockingTest.createProcessFile();
/* Sleep until the parent process kills me. */
Thread.sleep(Long.MAX_VALUE);