Browse Source

Fix ReadTreeTests to not rely on cached index

ReadTreeTests relied on Repository.getIndex() which on
platforms which coarse FileSystemTimers failed to detect
index modifications. By explicitly reloading and writing
the index this problem is solved.

Change-Id: I0a98babfc2068a3b6b7d2257834988e1154f5b26
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-0.9
Christian Halstrick 14 years ago
parent
commit
9ac29d0e91
  1. 4
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java
  2. 4
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/WorkDirCheckout_ReadTreeTest.java

4
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java

@ -651,6 +651,10 @@ public abstract class ReadTreeTest extends RepositoryTestCase {
String expectedValue;
String path;
GitIndex theIndex=db.getIndex();
// Without an explicit refresh we might miss index updates. If the index
// is updated multiple times inside a FileSystemTimer tick db.getIndex will
// not reload the index and return a cached (stale) index.
theIndex.read();
assertEquals("Index has not the right size.", i.size(),
theIndex.getMembers().length);
for (int j = 0; j < theIndex.getMembers().length; j++) {

4
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/WorkDirCheckout_ReadTreeTest.java

@ -57,8 +57,10 @@ public class WorkDirCheckout_ReadTreeTest extends ReadTreeTest {
}
public void checkout() throws IOException {
wdc = new WorkDirCheckout(db, db.getWorkTree(), theHead, db.getIndex(), theMerge);
GitIndex index = db.getIndex();
wdc = new WorkDirCheckout(db, db.getWorkTree(), theHead, index, theMerge);
wdc.checkout();
index.write();
}
public ArrayList<String> getRemoved() {

Loading…
Cancel
Save