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 BUILD_DEPENDS= ${JAVALIBDIR}/junit.jar:${PORTSDIR}/java/junit
BROKEN= Self-tests fail
USE_JAVA= yes USE_JAVA= yes
JAVA_VERSION= 1.5+ JAVA_VERSION= 1.5+
USE_ANT= yes USE_ANT= yes
@ -52,7 +50,8 @@ test:
post-build: test post-build: test
# #
# Please, review the reported failures (if any) and consider # 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 # You can re-run the tests without rebuilding the port by
# simply doing `make test' # simply doing `make test'
# #

View file

@ -1,8 +1,8 @@
This are temporary work-arounds for spurious test failures. See the discussions at This are temporary work-arounds for spurious test failures. See the discussions at
http://forums.oracle.com/forums/thread.jspa?threadID=431242 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=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 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. 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() + public void meowCleaning2000()
throws Throwable { 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);