mirror of https://github.com/apache/lucene.git
LUCENE-5904: fix false fail
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1621429 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7bb8cd1e39
commit
24e22029ce
|
@ -2504,7 +2504,10 @@ public class TestIndexWriter extends LuceneTestCase {
|
|||
public void testCorruptFirstCommit() throws Exception {
|
||||
for(int i=0;i<6;i++) {
|
||||
BaseDirectoryWrapper dir = newDirectory();
|
||||
|
||||
// Create a corrupt first commit:
|
||||
dir.createOutput("segments_0", IOContext.DEFAULT).close();
|
||||
|
||||
IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
|
||||
int mode = i/2;
|
||||
if (mode == 0) {
|
||||
|
@ -2544,6 +2547,16 @@ public class TestIndexWriter extends LuceneTestCase {
|
|||
if (mode != 0) {
|
||||
dir.setCheckIndexOnClose(false);
|
||||
}
|
||||
|
||||
if (dir instanceof MockDirectoryWrapper) {
|
||||
MockDirectoryWrapper mdw = (MockDirectoryWrapper) dir;
|
||||
if (Arrays.equals(new String[] {"segments_0"}, dir.listAll()) &&
|
||||
mdw.didTryToDelete("segments_0")) {
|
||||
// This means virus checker blocked IW deleting the corrupt first commit
|
||||
dir.setCheckIndexOnClose(false);
|
||||
}
|
||||
}
|
||||
|
||||
dir.close();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -494,6 +494,12 @@ public class MockDirectoryWrapper extends BaseDirectoryWrapper {
|
|||
in.deleteFile(name);
|
||||
}
|
||||
|
||||
/** Returns true if {@link #deleteFile} was called with this
|
||||
* fileName, but the virus checker prevented the deletion. */
|
||||
public boolean didTryToDelete(String fileName) {
|
||||
return triedToDelete.contains(fileName);
|
||||
}
|
||||
|
||||
public synchronized Set<String> getOpenDeletedFiles() {
|
||||
return new HashSet<>(openFilesDeleted);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue