Repository: activemq
Updated Branches:
  refs/heads/master eaf766b35 -> fee7c1cf4


https://issues.apache.org/jira/browse/AMQ-4705 - harden test - ensure existance 
before attempted mod


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/fee7c1cf
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/fee7c1cf
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/fee7c1cf

Branch: refs/heads/master
Commit: fee7c1cf4ca5361eda416ac13f253f5fa37ef6ac
Parents: eaf766b
Author: gtully <[email protected]>
Authored: Wed May 13 16:29:49 2015 +0100
Committer: gtully <[email protected]>
Committed: Wed May 13 16:30:06 2015 +0100

----------------------------------------------------------------------
 .../store/kahadb/KahaDBDeleteLockTest.java       | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/fee7c1cf/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBDeleteLockTest.java
----------------------------------------------------------------------
diff --git 
a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBDeleteLockTest.java
 
b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBDeleteLockTest.java
index b57a5c7..53de603 100644
--- 
a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBDeleteLockTest.java
+++ 
b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBDeleteLockTest.java
@@ -41,6 +41,7 @@ public class KahaDBDeleteLockTest {
     @Before
     public void createMaster() throws Exception{
         master = new BrokerService();
+        master.setDeleteAllMessagesOnStartup(true);
         master.setBrokerName("Master");
         master.setDataDirectoryFile(testDataDir);
 
@@ -56,6 +57,7 @@ public class KahaDBDeleteLockTest {
     public void stopBrokerJustInCase() throws Exception {
         if (master != null) {
             master.stop();
+            master.waitUntilStopped();
         }
     }
 
@@ -91,10 +93,19 @@ public class KahaDBDeleteLockTest {
     public void testModifyLockFile() throws Exception {
         assertTrue(master.isStarted());
 
+        final File lockFile = new File(kahaDataDir, "lock");
+        assertTrue("lock file exists via modification time", Wait.waitFor(new 
Wait.Condition() {
+            @Override
+            public boolean isSatisified() throws Exception {
+                return lockFile.lastModified() > 0;
+            }
+        }));
+
         // ensure modification will be seen, milisecond granularity
-        TimeUnit.MILLISECONDS.sleep(1);
-        RandomAccessFile file = new RandomAccessFile(new File(kahaDataDir, 
"lock"), "rw");
+        TimeUnit.MILLISECONDS.sleep(10);
+        RandomAccessFile file = new RandomAccessFile(lockFile, "rw");
         file.write(4);
+        file.getChannel().force(true);
         file.close();
 
         assertTrue("Master stops on lock file modification", Wait.waitFor(new 
Wait.Condition() {
@@ -102,7 +113,7 @@ public class KahaDBDeleteLockTest {
             public boolean isSatisified() throws Exception {
                 return master.isStopped();
             }
-        }, 5000));
+        }, 10000));
 
     }
-}
\ No newline at end of file
+}

Reply via email to