public static void CheckReader(AtomicReader reader, bool crossCheckTermVectors) { ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); StreamWriter infoStream = new StreamWriter(bos, Encoding.UTF8); reader.CheckIntegrity(); CheckIndex.Status.FieldNormStatus fieldNormStatus = Index.CheckIndex.TestFieldNorms(reader, infoStream); CheckIndex.Status.TermIndexStatus termIndexStatus = Index.CheckIndex.TestPostings(reader, infoStream); CheckIndex.Status.StoredFieldStatus storedFieldStatus = Index.CheckIndex.TestStoredFields(reader, infoStream); CheckIndex.Status.TermVectorStatus termVectorStatus = Index.CheckIndex.TestTermVectors(reader, infoStream, false, crossCheckTermVectors); CheckIndex.Status.DocValuesStatus docValuesStatus = Index.CheckIndex.TestDocValues(reader, infoStream); if (fieldNormStatus.Error != null || termIndexStatus.Error != null || storedFieldStatus.Error != null || termVectorStatus.Error != null || docValuesStatus.Error != null) { Console.WriteLine("CheckReader failed"); infoStream.Flush(); Console.WriteLine(bos.ToString()); throw RuntimeException.Create("CheckReader failed"); } else { if (LuceneTestCase.UseInfoStream) { Console.WriteLine(bos.ToString()); } } }