LUCENE-8324: Fix test to exclude the write.lock in expected files

This commit is contained in:
Simon Willnauer 2018-05-23 07:43:53 +02:00
parent b54e5946de
commit 14a7cd1159
1 changed files with 4 additions and 2 deletions

View File

@ -40,6 +40,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.carrotsearch.randomizedtesting.generators.RandomPicks; import com.carrotsearch.randomizedtesting.generators.RandomPicks;
@ -3317,11 +3318,12 @@ public class TestIndexWriter extends LuceneTestCase {
} }
private static void assertFiles(IndexWriter writer) throws IOException { private static void assertFiles(IndexWriter writer) throws IOException {
Predicate<String> filter = file -> file.startsWith("segments") == false && file.equals("write.lock") == false;
// remove segment files we don't know if we have committed and what is kept around // remove segment files we don't know if we have committed and what is kept around
Set<String> segFiles = new HashSet<>(writer.segmentInfos.files(true)).stream() Set<String> segFiles = new HashSet<>(writer.segmentInfos.files(true)).stream()
.filter(f -> f.startsWith("segments") == false).collect(Collectors.toSet()); .filter(filter).collect(Collectors.toSet());
Set<String> dirFiles = new HashSet<>(Arrays.asList(writer.getDirectory().listAll())) Set<String> dirFiles = new HashSet<>(Arrays.asList(writer.getDirectory().listAll()))
.stream().filter(f -> f.startsWith("segments") == false).collect(Collectors.toSet()); .stream().filter(filter).collect(Collectors.toSet());
Set<String> s = new HashSet<>(segFiles); Set<String> s = new HashSet<>(segFiles);
s.removeAll(dirFiles); s.removeAll(dirFiles);
assertEquals(segFiles.toString() + " vs "+ dirFiles.toString(), segFiles.size(), dirFiles.size()); assertEquals(segFiles.toString() + " vs "+ dirFiles.toString(), segFiles.size(), dirFiles.size());