You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2016/01/18 11:53:53 UTC

svn commit: r1725226 - /jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java

Author: mduerig
Date: Mon Jan 18 10:53:52 2016
New Revision: 1725226

URL: http://svn.apache.org/viewvc?rev=1725226&view=rev
Log:
OAK-3890: Robuster test expectations for FileStoreIT
Track the size of the current tar file to determine expectations about record offset.

Modified:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java?rev=1725226&r1=1725225&r2=1725226&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java Mon Jan 18 10:53:52 2016
@@ -183,19 +183,23 @@ public class FileStoreIT {
     @Test
     public void testRecovery() throws IOException {
         FileStore store = new FileStore(directory, 1, false);
-        store.flush(); // first 1kB
+        store.flush();
+
+        RandomAccessFile data0 = new RandomAccessFile(new File(directory, "data00000a.tar"), "r");
+        long pos0 = data0.length();
 
         SegmentNodeState base = store.getHead();
         SegmentNodeBuilder builder = base.builder();
         builder.setProperty("step", "a");
         store.setHead(base, builder.getNodeState());
-        store.flush(); // second 1kB
+        store.flush();
+        long pos1 = data0.length();
 
         base = store.getHead();
         builder = base.builder();
         builder.setProperty("step", "b");
         store.setHead(base, builder.getNodeState());
-        store.close(); // third 1kB
+        store.close();
 
         store = new FileStore(directory, 1, false);
         assertEquals("b", store.getHead().getString("step"));
@@ -203,7 +207,7 @@ public class FileStoreIT {
 
         RandomAccessFile file = new RandomAccessFile(
                 new File(directory, "data00000a.tar"), "rw");
-        file.setLength(2048);
+        file.setLength(pos1);
         file.close();
 
         store = new FileStore(directory, 1, false);
@@ -212,12 +216,13 @@ public class FileStoreIT {
 
         file = new RandomAccessFile(
                 new File(directory, "data00000a.tar"), "rw");
-        file.setLength(1024);
+        file.setLength(pos0);
         file.close();
 
         store = new FileStore(directory, 1, false);
         assertFalse(store.getHead().hasProperty("step"));
         store.close();
+        data0.close();
     }
 
     @Test