LUCENE-7422: fix bugs in test's retry loop

This commit is contained in:
Robert Muir 2016-08-25 08:20:53 -04:00
parent 981180284d
commit 18306628a9
1 changed files with 6 additions and 1 deletions

View File

@ -28,6 +28,8 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
import org.apache.lucene.util.LuceneTestCase;
@ -84,7 +86,8 @@ public class TestAllFilesCheckIndexHeader extends LuceneTestCase {
}
private void checkOneFile(Directory dir, String victim) throws IOException {
try (BaseDirectoryWrapper dirCopy = newDirectory()) {
// use ramdir explicit, as we do evil things like try to generate broken files, deletes must work.
try (BaseDirectoryWrapper dirCopy = new MockDirectoryWrapper(random(), new RAMDirectory())) {
dirCopy.setCheckIndexOnClose(false);
long victimLength = dir.fileLength(victim);
@ -117,6 +120,8 @@ public class TestAllFilesCheckIndexHeader extends LuceneTestCase {
break;
}
}
// we have to try again, delete the first attempt and retry the loop
dirCopy.deleteFile(name);
}
}
dirCopy.sync(Collections.singleton(name));