You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/16 17:45:45 UTC

svn commit: r1184853 - in /lucene/dev/branches/branch_3x: ./ lucene/ lucene/backwards/src/test/ lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java solr/

Author: rmuir
Date: Sun Oct 16 15:45:45 2011
New Revision: 1184853

URL: http://svn.apache.org/viewvc?rev=1184853&view=rev
Log:
LUCENE-3521: revert the revert of the hack in LuceneTestCase because ICU still has bugs with java7

Modified:
    lucene/dev/branches/branch_3x/   (props changed)
    lucene/dev/branches/branch_3x/lucene/   (props changed)
    lucene/dev/branches/branch_3x/lucene/backwards/src/test/   (props changed)
    lucene/dev/branches/branch_3x/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/branches/branch_3x/solr/   (props changed)

Modified: lucene/dev/branches/branch_3x/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java?rev=1184853&r1=1184852&r2=1184853&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java Sun Oct 16 15:45:45 2011
@@ -200,6 +200,9 @@ public abstract class LuceneTestCase ext
     random.setSeed(staticSeed);
     random.initialized = true;
   }
+  
+  @Deprecated
+  private static boolean icuTested = false;
 
   @BeforeClass
   public static void beforeClassLuceneTestCaseJ4() {
@@ -222,6 +225,20 @@ public abstract class LuceneTestCase ext
     
     savedLocale = Locale.getDefault();
     
+    // START hack to init ICU safely before we randomize locales.
+    // ICU fails during classloading when a special Java7-only locale is the default
+    // see: http://bugs.icu-project.org/trac/ticket/8734
+    if (!icuTested) {
+      icuTested = true;
+      try {
+        Locale.setDefault(Locale.US);
+        Class.forName("com.ibm.icu.util.ULocale");
+      } catch (ClassNotFoundException cnfe) {
+        // ignore if no ICU is in classpath
+      }
+    }
+    // END hack
+    
     locale = TEST_LOCALE.equals("random") ? randomLocale(random) : localeForName(TEST_LOCALE);
     Locale.setDefault(locale);
     savedTimeZone = TimeZone.getDefault();