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