You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mi...@apache.org on 2009/02/05 22:53:41 UTC
svn commit: r741311 - in /lucene/java/trunk: contrib/db/ contrib/db/bdb-je/
contrib/db/bdb-je/src/test/org/apache/lucene/store/je/ contrib/db/bdb/
contrib/db/bdb/src/test/org/apache/lucene/store/db/
contrib/queries/src/test/org/apache/lucene/search/tri...
Author: mikemccand
Date: Thu Feb 5 21:53:40 2009
New Revision: 741311
URL: http://svn.apache.org/viewvc?rev=741311&view=rev
Log:
LUCENE-1535: use random seed for randomness, but print the seed on failure for reproducibility
Modified:
lucene/java/trunk/contrib/db/bdb-je/build.xml
lucene/java/trunk/contrib/db/bdb-je/src/test/org/apache/lucene/store/je/JEStoreTest.java
lucene/java/trunk/contrib/db/bdb/build.xml
lucene/java/trunk/contrib/db/bdb/src/test/org/apache/lucene/store/db/DbStoreTest.java
lucene/java/trunk/contrib/db/build.xml
lucene/java/trunk/contrib/queries/src/test/org/apache/lucene/search/trie/TestTrieRangeQuery.java
lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestByteSlices.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing2.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestTransactions.java
lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestSort.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestStressSort.java
lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java
lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java
lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java
lucene/java/trunk/src/test/org/apache/lucene/util/TestOpenBitSet.java
lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java
lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java
Modified: lucene/java/trunk/contrib/db/bdb-je/build.xml
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/db/bdb-je/build.xml?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/db/bdb-je/build.xml (original)
+++ lucene/java/trunk/contrib/db/bdb-je/build.xml Thu Feb 5 21:53:40 2009
@@ -23,6 +23,13 @@
<import file="../../contrib-build.xml" />
+ <path id="test.classpath">
+ <path refid="classpath"/>
+ <pathelement location="../../../build/classes/test/"/>
+ <path refid="junit-path"/>
+ <pathelement location="${build.dir}/classes/java"/>
+ </path>
+
<target name="get-je-jar" unless="je.jar.exists">
<mkdir dir="lib" />
<get src="http://download.oracle.com/berkeley-db/je-${je.version}.zip"
Modified: lucene/java/trunk/contrib/db/bdb-je/src/test/org/apache/lucene/store/je/JEStoreTest.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/db/bdb-je/src/test/org/apache/lucene/store/je/JEStoreTest.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/db/bdb-je/src/test/org/apache/lucene/store/je/JEStoreTest.java (original)
+++ lucene/java/trunk/contrib/db/bdb-je/src/test/org/apache/lucene/store/je/JEStoreTest.java Thu Feb 5 21:53:40 2009
@@ -23,11 +23,10 @@
import java.util.Date;
import java.util.Random;
-import junit.framework.TestCase;
-
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.util.LuceneTestCase;
import com.sleepycat.je.Cursor;
import com.sleepycat.je.Database;
@@ -46,7 +45,7 @@
* Adapted from Andi Vajda's org.apache.lucene.db.DbStoreTest.
*
*/
-public class JEStoreTest extends TestCase {
+public class JEStoreTest extends LuceneTestCase {
protected File dbHome = new File(System.getProperty("java.io.tmpdir"),"index");
protected Environment env;
@@ -112,7 +111,9 @@
final int count = 250;
final int LENGTH_MASK = 0xffff;
- Random gen = new Random(1251971);
+ Random r = newRandom();
+ final long seed = r.nextLong();
+ Random gen = new Random(seed);
int totalLength = 0;
int duration;
Date end;
@@ -171,7 +172,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -220,7 +221,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -257,7 +258,9 @@
final int count = 250;
final int LENGTH_MASK = 0xffff;
- Random gen = new Random(1251971);
+ Random r = newRandom();
+ final long seed = r.nextLong();
+ Random gen = new Random(seed);
int totalLength = 0;
int duration;
Date end;
@@ -316,7 +319,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -357,7 +360,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -412,7 +415,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -486,7 +489,9 @@
final int count = 250;
final int LENGTH_MASK = 0xffff;
- Random gen = new Random(1251971);
+ Random r = newRandom();
+ final long seed = r.nextLong();
+ Random gen = new Random(seed);
int totalLength = 0;
int duration;
Date end;
@@ -543,7 +548,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -593,7 +598,7 @@
txn = env.beginTransaction(null, null);
store = new JEDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
String name = i + ".dat";
Modified: lucene/java/trunk/contrib/db/bdb/build.xml
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/db/bdb/build.xml?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/db/bdb/build.xml (original)
+++ lucene/java/trunk/contrib/db/bdb/build.xml Thu Feb 5 21:53:40 2009
@@ -23,6 +23,13 @@
<import file="../../contrib-build.xml" />
+ <path id="test.classpath">
+ <path refid="classpath"/>
+ <pathelement location="../../../build/classes/test/"/>
+ <path refid="junit-path"/>
+ <pathelement location="${build.dir}/classes/java"/>
+ </path>
+
<target name="get-db-jar" unless="db.jar.exists">
<mkdir dir="lib" />
<get src="http://downloads.osafoundation.org/db/db-${db.version}.jar"
Modified: lucene/java/trunk/contrib/db/bdb/src/test/org/apache/lucene/store/db/DbStoreTest.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/db/bdb/src/test/org/apache/lucene/store/db/DbStoreTest.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/db/bdb/src/test/org/apache/lucene/store/db/DbStoreTest.java (original)
+++ lucene/java/trunk/contrib/db/bdb/src/test/org/apache/lucene/store/db/DbStoreTest.java Thu Feb 5 21:53:40 2009
@@ -24,8 +24,6 @@
import java.io.File;
import java.io.IOException;
-import junit.framework.TestCase;
-
import com.sleepycat.db.EnvironmentConfig;
import com.sleepycat.db.Environment;
import com.sleepycat.db.Transaction;
@@ -37,13 +35,14 @@
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.util.LuceneTestCase;
/**
* Tests {@link DbDirectory}.
*
* Adapted from org.apache.lucene.StoreTest with larger files and random bytes.
*/
-public class DbStoreTest extends TestCase {
+public class DbStoreTest extends LuceneTestCase {
protected File dbHome = new File(System.getProperty("java.io.tmpdir"),"index");
protected Environment env;
protected Database index, blocks;
@@ -117,7 +116,10 @@
final int count = 250;
final int LENGTH_MASK = 0xffff;
- Random gen = new Random(1251971);
+ Random r = newRandom();
+ final long seed = r.nextLong();
+
+ Random gen = new Random(seed);
int totalLength = 0;
int duration;
Date end;
@@ -177,7 +179,7 @@
txn = env.beginTransaction(null, null);
store = new DbDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -227,7 +229,7 @@
txn = env.beginTransaction(null, null);
store = new DbDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -267,7 +269,10 @@
final int count = 250;
final int LENGTH_MASK = 0xffff;
- Random gen = new Random(1251971);
+ Random r = newRandom();
+ final long seed = r.nextLong();
+
+ Random gen = new Random(seed);
int totalLength = 0;
int duration;
Date end;
@@ -325,7 +330,7 @@
txn = env.beginTransaction(null, null);
store = new DbDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
@@ -376,7 +381,7 @@
txn = env.beginTransaction(null, null);
store = new DbDirectory(txn, index, blocks);
- gen = new Random(1251971);
+ gen = new Random(seed);
start = new Date();
for (int i = 0; i < count; i++) {
Modified: lucene/java/trunk/contrib/db/build.xml
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/db/build.xml?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/db/build.xml (original)
+++ lucene/java/trunk/contrib/db/build.xml Thu Feb 5 21:53:40 2009
@@ -64,5 +64,6 @@
<ant dir="bdb-je" target="javadocs" />
</target>
+
</project>
Modified: lucene/java/trunk/contrib/queries/src/test/org/apache/lucene/search/trie/TestTrieRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/queries/src/test/org/apache/lucene/search/trie/TestTrieRangeQuery.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/contrib/queries/src/test/org/apache/lucene/search/trie/TestTrieRangeQuery.java (original)
+++ lucene/java/trunk/contrib/queries/src/test/org/apache/lucene/search/trie/TestTrieRangeQuery.java Thu Feb 5 21:53:40 2009
@@ -36,11 +36,10 @@
{
private static final long distance=66666;
- private static Random rnd=new Random();
- private static RAMDirectory directory;
- private static IndexSearcher searcher;
+ private static final RAMDirectory directory;
+ private static final IndexSearcher searcher;
static {
- try {
+ try {
directory = new RAMDirectory();
IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(),
true, MaxFieldLength.UNLIMITED);
@@ -136,6 +135,7 @@
}
private void testRandomTrieAndClassicRangeQuery(final TrieUtils variant) throws Exception {
+ final Random rnd=newRandom();
String field="field"+variant.TRIE_BITS;
// 50 random tests, the tests may also return 0 results, if min>max, but this is ok
for (int i=0; i<50; i++) {
@@ -185,6 +185,7 @@
}
private void testRangeSplit(final TrieUtils variant) throws Exception {
+ final Random rnd=newRandom();
String field="ascfield"+variant.TRIE_BITS;
// 50 random tests
for (int i=0; i<50; i++) {
@@ -225,6 +226,7 @@
}
private void testSorting(final TrieUtils variant) throws Exception {
+ final Random rnd=newRandom();
String field="field"+variant.TRIE_BITS;
// 10 random tests, the index order is ascending,
// so using a reverse sort field should retun descending documents
Modified: lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Thu Feb 5 21:53:40 2009
@@ -329,6 +329,9 @@
/** Used for testing */
public static boolean anyUnhandledExceptions() {
+ if (allInstances == null) {
+ throw new RuntimeException("setTestMode() was not called; often this is because your test case's setUp method fails to call super.setUp in LuceneTestCase");
+ }
synchronized(allInstances) {
final int count = allInstances.size();
// Make sure all outstanding threads are done so we see
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java Thu Feb 5 21:53:40 2009
@@ -29,7 +29,7 @@
public class TestAtomicUpdate extends LuceneTestCase {
private static final Analyzer ANALYZER = new SimpleAnalyzer();
- private static final Random RANDOM = new Random();
+ private Random RANDOM;
public class MockIndexWriter extends IndexWriter {
@@ -179,7 +179,7 @@
FSDirectory.
*/
public void testAtomicUpdates() throws Exception {
-
+ RANDOM = newRandom();
Directory directory;
// First in a RAM directory:
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestByteSlices.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestByteSlices.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestByteSlices.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestByteSlices.java Thu Feb 5 21:53:40 2009
@@ -52,7 +52,7 @@
int[] uptos = new int[NUM_STREAM];
int[] counters = new int[NUM_STREAM];
- Random r = new Random(1);
+ Random r = newRandom();
ByteSliceReader reader = new ByteSliceReader();
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReaderReopen.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReaderReopen.java Thu Feb 5 21:53:40 2009
@@ -710,7 +710,7 @@
final List readers = Collections.synchronizedList(new ArrayList());
IndexReader firstReader = IndexReader.open(dir);
IndexReader reader = firstReader;
- final Random rnd = new Random();
+ final Random rnd = newRandom();
ReaderThread[] threads = new ReaderThread[n];
final Set readersToClose = Collections.synchronizedSet(new HashSet());
@@ -1113,7 +1113,7 @@
IndexReader lastReader = IndexReader.open(indexDir2);
- Random r = new Random(42);
+ Random r = newRandom();
for(int i=0;i<10;i++) {
int mod = r.nextInt(5);
modifyIndex(mod, lastReader.directory());
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java Thu Feb 5 21:53:40 2009
@@ -1411,7 +1411,7 @@
RAMDirectory dir = new RAMDirectory();
IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
writer.setRAMBufferSizeMB(0.5);
- Random rand = new Random(31415);
+ Random rand = newRandom();
for(int i=0;i<3;i++) {
// First, docs where every term is unique (heavy on
// Posting instances)
@@ -3442,7 +3442,7 @@
}
}
- Random r = new Random();
+ Random r;
private int nextInt(int lim) {
return r.nextInt(lim);
@@ -3498,6 +3498,7 @@
// LUCENE-510
public void testRandomUnicodeStrings() throws Throwable {
+ r = newRandom();
char[] buffer = new char[20];
char[] expected = new char[20];
@@ -3525,6 +3526,7 @@
// LUCENE-510
public void testIncrementalUnicodeStrings() throws Throwable {
+ r = newRandom();
char[] buffer = new char[20];
char[] expected = new char[20];
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java Thu Feb 5 21:53:40 2009
@@ -25,7 +25,6 @@
import org.apache.lucene.store.RAMDirectory;
import java.util.*;
-import java.lang.reflect.Array;
/**
@@ -34,8 +33,6 @@
*/
public class TestLazyBug extends LuceneTestCase {
- public static int BASE_SEED = 13;
-
public static int NUM_DOCS = 500;
public static int NUM_FIELDS = 100;
@@ -62,10 +59,10 @@
}
};
- private static Directory makeIndex() throws RuntimeException {
+ private Directory makeIndex() throws RuntimeException {
Directory dir = new RAMDirectory();
try {
- Random r = new Random(BASE_SEED + 42) ;
+ Random r = newRandom();
Analyzer analyzer = new SimpleAnalyzer();
IndexWriter writer = new IndexWriter(dir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -89,12 +86,12 @@
return dir;
}
- public static void doTest(int[] docs) throws Exception {
+ public void doTest(int[] docs) throws Exception {
Directory dir = makeIndex();
IndexReader reader = IndexReader.open(dir);
for (int i = 0; i < docs.length; i++) {
Document d = reader.document(docs[i], SELECTOR);
- String trash = d.get(MAGIC_FIELD);
+ d.get(MAGIC_FIELD);
List fields = d.getFields();
for (Iterator fi = fields.iterator(); fi.hasNext(); ) {
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java Thu Feb 5 21:53:40 2009
@@ -47,6 +47,7 @@
// Simple tests to test the Payload class
public void testPayload() throws Exception {
+ rnd = newRandom();
byte[] testData = "This is a test!".getBytes();
Payload payload = new Payload(testData);
assertEquals("Wrong payload length.", testData.length, payload.length());
@@ -95,6 +96,7 @@
// Tests whether the DocumentWriter and SegmentMerger correctly enable the
// payload bit in the FieldInfo
public void testPayloadFieldBit() throws Exception {
+ rnd = newRandom();
Directory ram = new RAMDirectory();
PayloadAnalyzer analyzer = new PayloadAnalyzer();
IndexWriter writer = new IndexWriter(ram, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -151,6 +153,7 @@
// Tests if payloads are correctly stored and loaded using both RamDirectory and FSDirectory
public void testPayloadsEncoding() throws Exception {
+ rnd = newRandom();
// first perform the test using a RAMDirectory
Directory dir = new RAMDirectory();
performTest(dir);
@@ -333,13 +336,13 @@
}
- private static Random rnd = new Random();
+ private Random rnd;
- private static void generateRandomData(byte[] data) {
+ private void generateRandomData(byte[] data) {
rnd.nextBytes(data);
}
- private static byte[] generateRandomData(int n) {
+ private byte[] generateRandomData(int n) {
byte[] data = new byte[n];
generateRandomData(data);
return data;
@@ -473,6 +476,7 @@
}
public void testThreadSafety() throws IOException {
+ rnd = newRandom();
final int numThreads = 5;
final int numDocs = 50;
final ByteArrayPool pool = new ByteArrayPool(numThreads, 5);
@@ -525,7 +529,7 @@
assertEquals(pool.size(), numThreads);
}
- private static class PoolingPayloadTokenStream extends TokenStream {
+ private class PoolingPayloadTokenStream extends TokenStream {
private byte[] payload;
private boolean first;
private ByteArrayPool pool;
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java Thu Feb 5 21:53:40 2009
@@ -28,7 +28,7 @@
public class TestStressIndexing extends LuceneTestCase {
private static final Analyzer ANALYZER = new SimpleAnalyzer();
- private static final Random RANDOM = new Random();
+ private Random RANDOM;
private static abstract class TimedThread extends Thread {
boolean failed;
@@ -67,7 +67,7 @@
}
}
- private static class IndexerThread extends TimedThread {
+ private class IndexerThread extends TimedThread {
IndexWriter writer;
public int count;
int nextID;
@@ -164,6 +164,7 @@
FSDirectory.
*/
public void testStressIndexAndSearching() throws Exception {
+ RANDOM = newRandom();
// RAMDir
Directory directory = new MockRAMDirectory();
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing2.java Thu Feb 5 21:53:40 2009
@@ -36,7 +36,7 @@
static int maxBufferedDocs=3;
static int seed=0;
- static Random r = new Random(0);
+ Random r;
public class MockIndexWriter extends IndexWriter {
@@ -53,6 +53,7 @@
}
public void testRandom() throws Throwable {
+ r = newRandom();
Directory dir1 = new MockRAMDirectory();
// dir1 = FSDirectory.getDirectory("foofoofoo");
Directory dir2 = new MockRAMDirectory();
@@ -69,6 +70,7 @@
public void testMultiConfig() throws Throwable {
// test lots of smaller different params together
+ r = newRandom();
for (int i=0; i<100; i++) { // increase iterations for better testing
sameFieldOrder=r.nextBoolean();
autoCommit=r.nextBoolean();
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java Thu Feb 5 21:53:40 2009
@@ -58,7 +58,7 @@
public class TestTermdocPerf extends LuceneTestCase {
void addDocs(Directory dir, final int ndocs, String field, final String val, final int maxTF, final float percentDocs) throws IOException {
- final Random random = new Random(0);
+ final Random random = newRandom();
final RepeatingTokenStream ts = new RepeatingTokenStream(val);
Analyzer analyzer = new Analyzer() {
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestTransactions.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestTransactions.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestTransactions.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestTransactions.java Thu Feb 5 21:53:40 2009
@@ -26,7 +26,7 @@
public class TestTransactions extends LuceneTestCase
{
- private static final Random RANDOM = new Random();
+ private Random RANDOM;
private static volatile boolean doFail;
private class RandomFailure extends MockRAMDirectory.Failure {
@@ -68,7 +68,7 @@
}
}
- private static class IndexerThread extends TimedThread {
+ private class IndexerThread extends TimedThread {
Directory dir1;
Directory dir2;
Object lock;
@@ -183,6 +183,7 @@
}
public void testTransactions() throws Throwable {
+ RANDOM = newRandom();
MockRAMDirectory dir1 = new MockRAMDirectory();
MockRAMDirectory dir2 = new MockRAMDirectory();
dir1.setPreventDoubleWrite(false);
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java Thu Feb 5 21:53:40 2009
@@ -32,7 +32,7 @@
public static final boolean F = false;
public static final boolean T = true;
- Random rand = new Random(101); // use a set seed to test is deterministic
+ protected Random rand;
/**
* Collation interacts badly with hyphens -- collation produces different
@@ -83,10 +83,12 @@
public BaseTestRangeFilter(String name) {
super(name);
+ rand = newRandom();
build(signedIndex);
build(unsignedIndex);
}
public BaseTestRangeFilter() {
+ rand = newRandom();
build(signedIndex);
build(unsignedIndex);
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java Thu Feb 5 21:53:40 2009
@@ -152,7 +152,7 @@
}
public void testRandomQueries() throws Exception {
- Random rnd = new Random(0);
+ Random rnd = newRandom();
String[] vals = {"w1","w2","w3","w4","w5","xx","yy","zzz"};
@@ -163,7 +163,7 @@
// increase number of iterations for more complete testing
for (int i=0; i<1000; i++) {
int level = rnd.nextInt(3);
- BooleanQuery q1 = randBoolQuery(new Random(i), level, field, vals, null);
+ BooleanQuery q1 = randBoolQuery(new Random(rnd.nextLong()), level, field, vals, null);
// Can't sort by relevance since floating point numbers may not quite
// match up.
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Thu Feb 5 21:53:40 2009
@@ -296,7 +296,7 @@
}
public void testRandomQueries() throws Exception {
- final Random rnd = new Random(0);
+ final Random rnd = newRandom();
String field="data";
String[] vals = {"1","2","3","4","5","6","A","Z","B","Y","Z","X","foo"};
@@ -319,9 +319,10 @@
// increase number of iterations for more complete testing
for (int i=0; i<1000; i++) {
int lev = rnd.nextInt(maxLev);
- BooleanQuery q1 = TestBoolean2.randBoolQuery(new Random(i), lev, field, vals, null);
- // BooleanQuery q2 = TestBoolean2.randBoolQuery(new Random(i), lev, field, vals, minNrCB);
- BooleanQuery q2 = TestBoolean2.randBoolQuery(new Random(i), lev, field, vals, null);
+ final long seed = rnd.nextLong();
+ BooleanQuery q1 = TestBoolean2.randBoolQuery(new Random(seed), lev, field, vals, null);
+ // BooleanQuery q2 = TestBoolean2.randBoolQuery(new Random(seed), lev, field, vals, minNrCB);
+ BooleanQuery q2 = TestBoolean2.randBoolQuery(new Random(seed), lev, field, vals, null);
// only set minimumNumberShouldMatch on the top level query since setting
// at a lower level can change the score.
minNrCB.postCreate(q2);
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestCustomSearcherSort.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestCustomSearcherSort.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestCustomSearcherSort.java Thu Feb 5 21:53:40 2009
@@ -25,7 +25,6 @@
import java.util.TreeMap;
import junit.framework.Test;
-import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
@@ -38,6 +37,7 @@
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.LuceneTestCase;
/**
* Unit test for sorting code.
@@ -45,7 +45,7 @@
*/
public class TestCustomSearcherSort
-extends TestCase
+extends LuceneTestCase
implements Serializable {
private Directory index = null;
@@ -71,7 +71,7 @@
throws IOException {
RAMDirectory indexStore = new RAMDirectory ();
IndexWriter writer = new IndexWriter (indexStore, new StandardAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
- RandomGen random = new RandomGen();
+ RandomGen random = new RandomGen(newRandom());
for (int i=0; i<INDEX_SIZE; ++i) { // don't decrease; if to low the problem doesn't show up
Document doc = new Document();
if((i%5)!=0) { // some documents must not have an entry in the first sort field
@@ -93,8 +93,9 @@
* Create index and query for test cases.
*/
public void setUp() throws Exception {
- index = getIndex();
- query = new TermQuery( new Term("content", "test"));
+ super.setUp();
+ index = getIndex();
+ query = new TermQuery( new Term("content", "test"));
}
/**
@@ -164,7 +165,6 @@
ScoreDoc[] resultSort = searcher.search (query, null, 1000, sort).scoreDocs;
checkHits(resultSort, "Sort by custom criteria: "); // check for duplicates
- String lf = System.getProperty("line.separator", "\n");
// besides the sorting both sets of hits must be identical
for(int hitid=0;hitid<resultSort.length; ++hitid) {
Integer idHitDate = new Integer(resultSort[hitid].doc); // document ID from sorted search
@@ -263,12 +263,15 @@
}
}
private class RandomGen {
- private Random random = new Random(0); // to generate some arbitrary contents
- private Calendar base = new GregorianCalendar(1980, 1, 1);
-
- // Just to generate some different Lucene Date strings
- private String getLuceneDate() {
- return DateTools.timeToString(base.getTimeInMillis() + random.nextInt() - Integer.MIN_VALUE, DateTools.Resolution.DAY);
- }
+ RandomGen(Random random) {
+ this.random = random;
+ }
+ private Random random;
+ private Calendar base = new GregorianCalendar(1980, 1, 1);
+
+ // Just to generate some different Lucene Date strings
+ private String getLuceneDate() {
+ return DateTools.timeToString(base.getTimeInMillis() + random.nextInt() - Integer.MIN_VALUE, DateTools.Resolution.DAY);
+ }
}
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java Thu Feb 5 21:53:40 2009
@@ -38,7 +38,7 @@
* @version $Id$
*/
public class TestScorerPerf extends LuceneTestCase {
- Random r = new Random(0);
+ Random r;
boolean validate = true; // set to false when doing performance testing
BitSet[] sets;
@@ -306,6 +306,7 @@
public void testConjunctions() throws Exception {
// test many small sets... the bugs will be found on boundary conditions
+ r = newRandom();
createDummySearcher();
validate=true;
sets=randBitSets(1000,10);
@@ -318,6 +319,7 @@
int bigIter=10;
public void testConjunctionPerf() throws Exception {
+ r = newRandom();
createDummySearcher();
validate=false;
sets=randBitSets(32,1000000);
@@ -331,6 +333,7 @@
}
public void testNestedConjunctionPerf() throws Exception {
+ r = newRandom();
createDummySearcher();
validate=false;
sets=randBitSets(32,1000000);
@@ -345,6 +348,7 @@
public void testConjunctionTerms() throws Exception {
+ r = newRandom();
validate=false;
RAMDirectory dir = new RAMDirectory();
System.out.println("Creating index");
@@ -361,6 +365,7 @@
}
public void testNestedConjunctionTerms() throws Exception {
+ r = newRandom();
validate=false;
RAMDirectory dir = new RAMDirectory();
System.out.println("Creating index");
@@ -378,6 +383,7 @@
public void testSloppyPhrasePerf() throws Exception {
+ r = newRandom();
validate=false;
RAMDirectory dir = new RAMDirectory();
System.out.println("Creating index");
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestSort.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestSort.java Thu Feb 5 21:53:40 2009
@@ -180,7 +180,7 @@
return new IndexSearcher (indexStore);
}
- public static String getRandomNumberString(int num, int low, int high) {
+ public String getRandomNumberString(int num, int low, int high) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < num; i++) {
sb.append(getRandomNumber(low, high));
@@ -188,11 +188,11 @@
return sb.toString();
}
- public static String getRandomCharString(int num) {
+ public String getRandomCharString(int num) {
return getRandomCharString(num, 48, 122);
}
- public static String getRandomCharString(int num, int start, int end) {
+ public String getRandomCharString(int num, int start, int end) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < num; i++) {
sb.append(new Character((char) getRandomNumber(start, end)));
@@ -200,9 +200,9 @@
return sb.toString();
}
- static Random r = new Random();
+ Random r;
- public static int getRandomNumber(final int low, final int high) {
+ public int getRandomNumber(final int low, final int high) {
int randInt = (Math.abs(r.nextInt()) % (high - low)) + low;
@@ -284,6 +284,7 @@
* Test String sorting: small queue to many matches, multi field sort, reverse sort
*/
public void testStringSort() throws IOException, ParseException {
+ r = newRandom();
ScoreDoc[] result = null;
IndexSearcher searcher = getFullStrings();
sort.setSort(new SortField[] {
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestStressSort.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestStressSort.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestStressSort.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestStressSort.java Thu Feb 5 21:53:40 2009
@@ -35,7 +35,7 @@
// NOTE: put seed in here to make failures
// deterministic, but do not commit with a seed (to
// better test):
- private final Random r = new Random();
+ private Random r;
private Directory dir, dir2, dir3;
private IndexSearcher searcherMultiSegment;
private IndexSearcher searcherFewSegment;
@@ -67,7 +67,6 @@
// NOTE: put seed in here to make failures
// deterministic, but do not commit with a seed (to
// better test):
- final Random r = new Random();
dir = new MockRAMDirectory();
IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), IndexWriter.MaxFieldLength.LIMITED);
writer.setMaxBufferedDocs(17);
@@ -180,6 +179,7 @@
}
public void testSort() throws Throwable {
+ r = newRandom();
// reverse & not
// all types
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java Thu Feb 5 21:53:40 2009
@@ -34,7 +34,7 @@
* @version $Id$
*/
public class TestThreadSafe extends LuceneTestCase {
- Random r = new Random();
+ Random r;
Directory dir1;
Directory dir2;
@@ -48,7 +48,7 @@
final int iter;
final Random rand;
// pass in random in case we want to make things reproducable
- public Thr(int iter, Random rand, int level) {
+ public Thr(int iter, Random rand) {
this.iter = iter;
this.rand = rand;
}
@@ -132,7 +132,7 @@
void doTest(int iter, int nThreads) throws Exception {
Thr[] tarr = new Thr[nThreads];
for (int i=0; i<nThreads; i++) {
- tarr[i] = new Thr(iter, new Random(), 1);
+ tarr[i] = new Thr(iter, new Random(r.nextLong()));
tarr[i].start();
}
for (int i=0; i<nThreads; i++) {
@@ -144,6 +144,7 @@
}
public void testLazyLoadThreadSafety() throws Exception{
+ r = newRandom();
dir1 = new RAMDirectory();
// test w/ field sizes bigger than the buffer of an index input
buildDir(dir1, 15, 5, 2000);
Modified: lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java Thu Feb 5 21:53:40 2009
@@ -157,7 +157,7 @@
public void testSetBufferSize() throws IOException {
File indexDir = new File(System.getProperty("tempDir"), "testSetBufferSize");
- MockFSDirectory dir = new MockFSDirectory(indexDir);
+ MockFSDirectory dir = new MockFSDirectory(indexDir, newRandom());
try {
IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
writer.setUseCompoundFile(false);
@@ -205,11 +205,12 @@
List allIndexInputs = new ArrayList();
- Random rand = new Random(788);
+ Random rand;
private Directory dir;
- public MockFSDirectory(File path) throws IOException {
+ public MockFSDirectory(File path, Random rand) throws IOException {
+ this.rand = rand;
lockFactory = new NoLockFactory();
dir = FSDirectory.getDirectory(path);
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java Thu Feb 5 21:53:40 2009
@@ -28,7 +28,6 @@
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.store.FSDirectory;
public class TestWindowsMMap extends LuceneTestCase {
@@ -37,7 +36,7 @@
public void setUp() throws Exception {
super.setUp();
- random = new Random();
+ random = newRandom();
System.setProperty("org.apache.lucene.FSDirectory.class", "org.apache.lucene.store.MMapDirectory");
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java Thu Feb 5 21:53:40 2009
@@ -20,6 +20,7 @@
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.index.ConcurrentMergeScheduler;
import junit.framework.TestCase;
+import java.util.Random;
/** Base class for all Lucene unit tests. Currently the
* only added functionality over JUnit's TestCase is
@@ -54,4 +55,48 @@
fail("ConcurrentMergeScheduler hit unhandled exceptions");
}
}
+
+ /**
+ * Returns a {@link Random} instance for generating random numbers during the test.
+ * The random seed is logged during test execution and printed to System.out on any failure
+ * for reproducing the test using {@link #newRandom(long)} with the recorded seed
+ *.
+ */
+ public Random newRandom() {
+ if (seed != null) {
+ throw new IllegalStateException("please call LuceneTestCase.newRandom only once per test");
+ }
+ return newRandom(seedRnd.nextLong());
+ }
+
+ /**
+ * Returns a {@link Random} instance for generating random numbers during the test.
+ * If an error occurs in the test that is not reproducible, you can use this method to
+ * initialize the number generator with the seed that was printed out during the failing test.
+ */
+ public Random newRandom(long seed) {
+ if (this.seed != null) {
+ throw new IllegalStateException("please call LuceneTestCase.newRandom only once per test");
+ }
+ this.seed = new Long(seed);
+ return new Random(seed);
+ }
+
+ protected void runTest() throws Throwable {
+ try {
+ seed = null;
+ super.runTest();
+ } catch (Throwable e) {
+ if (seed != null) {
+ System.out.println("NOTE: random seed of testcase '" + getName() + "' was: " + seed);
+ }
+ throw e;
+ }
+ }
+
+ // recorded seed
+ protected Long seed = null;
+
+ // static members
+ private static final Random seedRnd = new Random();
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/util/TestOpenBitSet.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/util/TestOpenBitSet.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/util/TestOpenBitSet.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/util/TestOpenBitSet.java Thu Feb 5 21:53:40 2009
@@ -17,16 +17,14 @@
package org.apache.lucene.util;
-import junit.framework.TestCase;
-
import java.util.Random;
import java.util.BitSet;
/**
* @version $Id$
*/
-public class TestOpenBitSet extends TestCase {
- static Random rand = new Random();
+public class TestOpenBitSet extends LuceneTestCase {
+ Random rand;
void doGet(BitSet a, OpenBitSet b) {
int max = a.size();
@@ -184,17 +182,20 @@
// large enough to flush obvious bugs, small enough to run in <.5 sec as part of a
// larger testsuite.
public void testSmall() {
+ rand = newRandom();
doRandomSets(1200,1000, 1);
doRandomSets(1200,1000, 2);
}
public void testBig() {
// uncomment to run a bigger test (~2 minutes).
+ // rand = newRandom();
// doRandomSets(2000,200000, 1);
// doRandomSets(2000,200000, 2);
}
public void testEquals() {
+ rand = newRandom();
OpenBitSet b1 = new OpenBitSet(1111);
OpenBitSet b2 = new OpenBitSet(2222);
assertTrue(b1.equals(b2));
@@ -218,6 +219,7 @@
public void testBitUtils()
{
+ rand = newRandom();
long num = 100000;
assertEquals( 5, BitUtil.ntz(num) );
assertEquals( 5, BitUtil.ntz2(num) );
Modified: lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java Thu Feb 5 21:53:40 2009
@@ -45,13 +45,12 @@
public void testPQ()
throws Exception
{
- testPQ(10000);
+ testPQ(10000, newRandom());
}
- public static void testPQ(int count)
+ public static void testPQ(int count, Random gen)
{
PriorityQueue pq = new IntegerQueue(count);
- Random gen = new Random();
int sum = 0, sum2 = 0;
for (int i = 0; i < count; i++)
Modified: lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java?rev=741311&r1=741310&r2=741311&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java Thu Feb 5 21:53:40 2009
@@ -16,7 +16,6 @@
* limitations under the License.
*/
-import org.apache.lucene.util.LuceneTestCase;
import java.util.Random;
/**
@@ -74,7 +73,7 @@
}
public void testFloatToByte() {
- Random rand = new Random(0);
+ Random rand = newRandom();
// up iterations for more exhaustive test after changing something
for (int i=0; i<100000; i++) {
float f = Float.intBitsToFloat(rand.nextInt());