You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2017/02/28 17:27:06 UTC

[39/50] [abbrv] lucene-solr:jira/solr-9045: Avoid infinite loop in TestFuzzyQuery.

Avoid infinite loop in TestFuzzyQuery.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b6c5a8a0
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b6c5a8a0
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b6c5a8a0

Branch: refs/heads/jira/solr-9045
Commit: b6c5a8a0c1c6b93b36a57921b06346b577251439
Parents: 04ba996
Author: Adrien Grand <jp...@gmail.com>
Authored: Tue Feb 28 11:53:50 2017 +0100
Committer: Adrien Grand <jp...@gmail.com>
Committed: Tue Feb 28 11:53:50 2017 +0100

----------------------------------------------------------------------
 .../core/src/test/org/apache/lucene/search/TestFuzzyQuery.java  | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b6c5a8a0/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
index 62e63ea..ebaf3c0 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
@@ -510,8 +510,11 @@ public class TestFuzzyQuery extends LuceneTestCase {
 
   @SuppressWarnings({"unchecked","rawtypes"})
   public void testRandom() throws Exception {
-    int numTerms = atLeast(100);
     int digits = TestUtil.nextInt(random(), 2, 3);
+    // underestimated total number of unique terms that randomSimpleString
+    // maybe generate, it assumes all terms have a length of 7
+    int vocabularySize = digits << 7;
+    int numTerms = Math.min(atLeast(100), vocabularySize);
     Set<String> terms = new HashSet<>();
     while (terms.size() < numTerms) {
       terms.add(randomSimpleString(digits));