mirror of https://github.com/apache/lucene.git
improve the random handling in these tests
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1049144 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
1d1c5ec67d
commit
94848afc65
|
@ -50,7 +50,7 @@ public class TestIndexWriterExceptions extends LuceneTestCase {
|
||||||
|
|
||||||
IndexWriter writer;
|
IndexWriter writer;
|
||||||
|
|
||||||
final Random r = new java.util.Random(47);
|
final Random r = new Random(random.nextLong());
|
||||||
volatile Throwable failure;
|
volatile Throwable failure;
|
||||||
|
|
||||||
public IndexerThread(int i, IndexWriter writer) {
|
public IndexerThread(int i, IndexWriter writer) {
|
||||||
|
@ -128,7 +128,7 @@ public class TestIndexWriterExceptions extends LuceneTestCase {
|
||||||
ThreadLocal<Thread> doFail = new ThreadLocal<Thread>();
|
ThreadLocal<Thread> doFail = new ThreadLocal<Thread>();
|
||||||
|
|
||||||
private class MockIndexWriter extends IndexWriter {
|
private class MockIndexWriter extends IndexWriter {
|
||||||
Random r = new java.util.Random(17);
|
Random r = new Random(random.nextLong());
|
||||||
|
|
||||||
public MockIndexWriter(Directory dir, IndexWriterConfig conf) throws IOException {
|
public MockIndexWriter(Directory dir, IndexWriterConfig conf) throws IOException {
|
||||||
super(dir, conf);
|
super(dir, conf);
|
||||||
|
|
|
@ -837,10 +837,11 @@ public class TestIndexWriterReader extends LuceneTestCase {
|
||||||
final Thread[] threads = new Thread[NUM_THREAD];
|
final Thread[] threads = new Thread[NUM_THREAD];
|
||||||
for(int i=0;i<NUM_THREAD;i++) {
|
for(int i=0;i<NUM_THREAD;i++) {
|
||||||
threads[i] = new Thread() {
|
threads[i] = new Thread() {
|
||||||
|
final Random r = new Random(random.nextLong());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
final Random r = new Random();
|
|
||||||
do {
|
do {
|
||||||
try {
|
try {
|
||||||
for(int docUpto=0;docUpto<10;docUpto++) {
|
for(int docUpto=0;docUpto<10;docUpto++) {
|
||||||
|
|
|
@ -26,7 +26,6 @@ import org.apache.lucene.store.Directory;
|
||||||
import org.apache.lucene.util.LuceneTestCase;
|
import org.apache.lucene.util.LuceneTestCase;
|
||||||
|
|
||||||
public class TestNRTReaderWithThreads extends LuceneTestCase {
|
public class TestNRTReaderWithThreads extends LuceneTestCase {
|
||||||
Random random = new Random();
|
|
||||||
AtomicInteger seq = new AtomicInteger(1);
|
AtomicInteger seq = new AtomicInteger(1);
|
||||||
|
|
||||||
public void testIndexing() throws Exception {
|
public void testIndexing() throws Exception {
|
||||||
|
@ -77,7 +76,8 @@ public class TestNRTReaderWithThreads extends LuceneTestCase {
|
||||||
int delCount = 0;
|
int delCount = 0;
|
||||||
int addCount = 0;
|
int addCount = 0;
|
||||||
int type;
|
int type;
|
||||||
|
final Random r = new Random(random.nextLong());
|
||||||
|
|
||||||
public RunThread(int type, IndexWriter writer) {
|
public RunThread(int type, IndexWriter writer) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.writer = writer;
|
this.writer = writer;
|
||||||
|
@ -97,7 +97,7 @@ public class TestNRTReaderWithThreads extends LuceneTestCase {
|
||||||
// we may or may not delete because the term may not exist,
|
// we may or may not delete because the term may not exist,
|
||||||
// however we're opening and closing the reader rapidly
|
// however we're opening and closing the reader rapidly
|
||||||
IndexReader reader = writer.getReader();
|
IndexReader reader = writer.getReader();
|
||||||
int id = random.nextInt(seq.intValue());
|
int id = r.nextInt(seq.intValue());
|
||||||
Term term = new Term("id", Integer.toString(id));
|
Term term = new Term("id", Integer.toString(id));
|
||||||
int count = TestIndexWriterReader.count(term, reader);
|
int count = TestIndexWriterReader.count(term, reader);
|
||||||
writer.deleteDocuments(term);
|
writer.deleteDocuments(term);
|
||||||
|
|
|
@ -38,7 +38,7 @@ import org.apache.lucene.util.Version;
|
||||||
public class TestPerSegmentDeletes extends LuceneTestCase {
|
public class TestPerSegmentDeletes extends LuceneTestCase {
|
||||||
public void testDeletes1() throws Exception {
|
public void testDeletes1() throws Exception {
|
||||||
//IndexWriter.debug2 = System.out;
|
//IndexWriter.debug2 = System.out;
|
||||||
Directory dir = new MockDirectoryWrapper(new Random(), new RAMDirectory());
|
Directory dir = new MockDirectoryWrapper(new Random(random.nextLong()), new RAMDirectory());
|
||||||
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_CURRENT,
|
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_CURRENT,
|
||||||
new MockAnalyzer());
|
new MockAnalyzer());
|
||||||
iwc.setMergeScheduler(new SerialMergeScheduler());
|
iwc.setMergeScheduler(new SerialMergeScheduler());
|
||||||
|
|
|
@ -29,6 +29,11 @@ public class TestSetOnce extends LuceneTestCase {
|
||||||
private static final class SetOnceThread extends Thread {
|
private static final class SetOnceThread extends Thread {
|
||||||
SetOnce<Integer> set;
|
SetOnce<Integer> set;
|
||||||
boolean success = false;
|
boolean success = false;
|
||||||
|
final Random RAND;
|
||||||
|
|
||||||
|
public SetOnceThread(Random random) {
|
||||||
|
RAND = new Random(random.nextLong());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -46,8 +51,6 @@ public class TestSetOnce extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Random RAND = new Random();
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEmptyCtor() throws Exception {
|
public void testEmptyCtor() throws Exception {
|
||||||
SetOnce<Integer> set = new SetOnce<Integer>();
|
SetOnce<Integer> set = new SetOnce<Integer>();
|
||||||
|
@ -71,15 +74,10 @@ public class TestSetOnce extends LuceneTestCase {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetMultiThreaded() throws Exception {
|
public void testSetMultiThreaded() throws Exception {
|
||||||
long seed = RAND.nextLong();
|
|
||||||
RAND.setSeed(seed);
|
|
||||||
if (VERBOSE) {
|
|
||||||
System.out.println("testSetMultiThreaded: seed=" + seed);
|
|
||||||
}
|
|
||||||
final SetOnce<Integer> set = new SetOnce<Integer>();
|
final SetOnce<Integer> set = new SetOnce<Integer>();
|
||||||
SetOnceThread[] threads = new SetOnceThread[10];
|
SetOnceThread[] threads = new SetOnceThread[10];
|
||||||
for (int i = 0; i < threads.length; i++) {
|
for (int i = 0; i < threads.length; i++) {
|
||||||
threads[i] = new SetOnceThread();
|
threads[i] = new SetOnceThread(random);
|
||||||
threads[i].setName("t-" + (i+1));
|
threads[i].setName("t-" + (i+1));
|
||||||
threads[i].set = set;
|
threads[i].set = set;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue