Fix ReadTreeTest

After refactoring ReadTreeTest the tests failed for filesystems
with coarse modification time granularity. This is fixed by
explicitly telling the repo to reread the index after we build
a new index.

Additionally the test testDirectoryFileSimple was simplified
by using buildTree() instead of misusing GitIndex to construct
trees.

Change-Id: I20d2f097491e4cc8c657a696beabc7026b485017
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Christian Halstrick 2010-07-13 12:28:42 +00:00 committed by Matthias Sohn
parent b878cdcf6b
commit 33160cd2da
1 changed files with 5 additions and 17 deletions

View File

@ -108,6 +108,7 @@ private void buildIndex(HashMap<String, String> indexEntries) throws IOException
}
index.write();
db.getIndex().read();
}
private Tree buildTree(HashMap<String, String> headEntries) throws IOException {
@ -247,20 +248,9 @@ private void assertAllEmpty() {
}
public void testDirectoryFileSimple() throws IOException {
GitIndex theIndex = new GitIndex(db);
theIndex.add(trash, writeTrashFile("DF", "DF"));
Tree treeDF = db.mapTree(theIndex.writeTree());
recursiveDelete(new File(trash, "DF"));
theIndex = new GitIndex(db);
theIndex.add(trash, writeTrashFile("DF/DF", "DF/DF"));
Tree treeDFDF = db.mapTree(theIndex.writeTree());
theIndex = new GitIndex(db);
recursiveDelete(new File(trash, "DF"));
theIndex.add(trash, writeTrashFile("DF", "DF"));
theIndex.write();
Tree treeDF = buildTree(mkmap("DF", "DF"));
Tree treeDFDF = buildTree(mkmap("DF/DF", "DF/DF"));
buildIndex(mkmap("DF", "DF"));
prescanTwoTrees(treeDF, treeDFDF);
@ -268,9 +258,7 @@ public void testDirectoryFileSimple() throws IOException {
assertTrue(getUpdated().containsKey("DF/DF"));
recursiveDelete(new File(trash, "DF"));
theIndex = new GitIndex(db);
theIndex.add(trash, writeTrashFile("DF/DF", "DF/DF"));
theIndex.write();
buildIndex(mkmap("DF/DF", "DF/DF"));
prescanTwoTrees(treeDFDF, treeDF);
assertTrue(getRemoved().contains("DF/DF"));