mirror of https://github.com/apache/lucene.git
also set IW's infoStream in LTC.newIndexWriterConfig, so we get a new messageID each time an IW is created when running verbose
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1477775 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
48813fad0c
commit
46e43e1e8b
|
@ -704,6 +704,16 @@ public abstract class LuceneTestCase extends Assert {
|
||||||
public static IndexWriterConfig newIndexWriterConfig(Random r, Version v, Analyzer a) {
|
public static IndexWriterConfig newIndexWriterConfig(Random r, Version v, Analyzer a) {
|
||||||
IndexWriterConfig c = new IndexWriterConfig(v, a);
|
IndexWriterConfig c = new IndexWriterConfig(v, a);
|
||||||
c.setSimilarity(classEnvRule.similarity);
|
c.setSimilarity(classEnvRule.similarity);
|
||||||
|
if (VERBOSE) {
|
||||||
|
// Even though TestRuleSetupAndRestoreClassEnv calls
|
||||||
|
// InfoStream.setDefault, we do it again here so that
|
||||||
|
// the PrintStreamInfoStream.messageID increments so
|
||||||
|
// that when there are separate instances of
|
||||||
|
// IndexWriter created we see "IW 0", "IW 1", "IW 2",
|
||||||
|
// ... instead of just always "IW 0":
|
||||||
|
c.setInfoStream(new TestRuleSetupAndRestoreClassEnv.ThreadNameFixingPrintStreamInfoStream(System.out));
|
||||||
|
}
|
||||||
|
|
||||||
if (r.nextBoolean()) {
|
if (r.nextBoolean()) {
|
||||||
c.setMergeScheduler(new SerialMergeScheduler());
|
c.setMergeScheduler(new SerialMergeScheduler());
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ package org.apache.lucene.util;
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.io.PrintStream;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -33,21 +34,17 @@ import org.apache.lucene.codecs.PostingsFormat;
|
||||||
import org.apache.lucene.codecs.asserting.AssertingCodec;
|
import org.apache.lucene.codecs.asserting.AssertingCodec;
|
||||||
import org.apache.lucene.codecs.cheapbastard.CheapBastardCodec;
|
import org.apache.lucene.codecs.cheapbastard.CheapBastardCodec;
|
||||||
import org.apache.lucene.codecs.compressing.CompressingCodec;
|
import org.apache.lucene.codecs.compressing.CompressingCodec;
|
||||||
import org.apache.lucene.codecs.lucene40.Lucene40Codec;
|
|
||||||
import org.apache.lucene.codecs.lucene40.Lucene40RWCodec;
|
import org.apache.lucene.codecs.lucene40.Lucene40RWCodec;
|
||||||
import org.apache.lucene.codecs.lucene40.Lucene40RWPostingsFormat;
|
import org.apache.lucene.codecs.lucene40.Lucene40RWPostingsFormat;
|
||||||
import org.apache.lucene.codecs.lucene41.Lucene41Codec;
|
|
||||||
import org.apache.lucene.codecs.lucene41.Lucene41RWCodec;
|
import org.apache.lucene.codecs.lucene41.Lucene41RWCodec;
|
||||||
import org.apache.lucene.codecs.lucene42.Lucene42Codec;
|
import org.apache.lucene.codecs.lucene42.Lucene42Codec;
|
||||||
import org.apache.lucene.codecs.mockrandom.MockRandomPostingsFormat;
|
|
||||||
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
|
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
|
||||||
import org.apache.lucene.index.RandomCodec;
|
import org.apache.lucene.index.RandomCodec;
|
||||||
import org.apache.lucene.search.RandomSimilarityProvider;
|
import org.apache.lucene.search.RandomSimilarityProvider;
|
||||||
import org.apache.lucene.search.similarities.DefaultSimilarity;
|
import org.apache.lucene.search.similarities.DefaultSimilarity;
|
||||||
import org.apache.lucene.search.similarities.Similarity;
|
import org.apache.lucene.search.similarities.Similarity;
|
||||||
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
|
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs; // javadocs
|
||||||
import org.junit.internal.AssumptionViolatedException;
|
import org.junit.internal.AssumptionViolatedException;
|
||||||
|
|
||||||
import com.carrotsearch.randomizedtesting.RandomizedContext;
|
import com.carrotsearch.randomizedtesting.RandomizedContext;
|
||||||
|
|
||||||
import static org.apache.lucene.util.LuceneTestCase.*;
|
import static org.apache.lucene.util.LuceneTestCase.*;
|
||||||
|
@ -79,6 +76,25 @@ final class TestRuleSetupAndRestoreClassEnv extends AbstractBeforeAfterRule {
|
||||||
*/
|
*/
|
||||||
HashSet<String> avoidCodecs;
|
HashSet<String> avoidCodecs;
|
||||||
|
|
||||||
|
static class ThreadNameFixingPrintStreamInfoStream extends PrintStreamInfoStream {
|
||||||
|
|
||||||
|
public ThreadNameFixingPrintStreamInfoStream(PrintStream out) {
|
||||||
|
super(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void message(String component, String message) {
|
||||||
|
final String name;
|
||||||
|
if (Thread.currentThread().getName().startsWith("TEST-")) {
|
||||||
|
// The name of the main thread is way too
|
||||||
|
// long when looking at IW verbose output...
|
||||||
|
name = "main";
|
||||||
|
} else {
|
||||||
|
name = Thread.currentThread().getName();
|
||||||
|
}
|
||||||
|
stream.println(component + " " + messageID + " [" + new Date() + "; " + name + "]: " + message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void before() throws Exception {
|
protected void before() throws Exception {
|
||||||
|
@ -111,20 +127,7 @@ final class TestRuleSetupAndRestoreClassEnv extends AbstractBeforeAfterRule {
|
||||||
final Random random = RandomizedContext.current().getRandom();
|
final Random random = RandomizedContext.current().getRandom();
|
||||||
final boolean v = random.nextBoolean();
|
final boolean v = random.nextBoolean();
|
||||||
if (INFOSTREAM) {
|
if (INFOSTREAM) {
|
||||||
InfoStream.setDefault(new PrintStreamInfoStream(System.out) {
|
InfoStream.setDefault(new ThreadNameFixingPrintStreamInfoStream(System.out));
|
||||||
@Override
|
|
||||||
public void message(String component, String message) {
|
|
||||||
final String name;
|
|
||||||
if (Thread.currentThread().getName().startsWith("TEST-")) {
|
|
||||||
// The name of the main thread is way too
|
|
||||||
// long when looking at IW verbose output...
|
|
||||||
name = "main";
|
|
||||||
} else {
|
|
||||||
name = Thread.currentThread().getName();
|
|
||||||
}
|
|
||||||
stream.println(component + " " + messageID + " [" + new Date() + "; " + name + "]: " + message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (v) {
|
} else if (v) {
|
||||||
InfoStream.setDefault(new NullInfoStream());
|
InfoStream.setDefault(new NullInfoStream());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue