This is an automated email from the ASF dual-hosted git repository.

tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 17a9014060 TIKA-4920: temporarily skip some system default locale 
testing (#3305)
17a9014060 is described below

commit 17a9014060f0ddbc60857e32f300448f25bc8411
Author: Tim Allison <[email protected]>
AuthorDate: Wed Oct 7 12:02:51 2026 -0400

    TIKA-4920: temporarily skip some system default locale testing (#3305)
---
 .../java/org/apache/tika/bundle/FelixBundleIT.java | 10 ++++++++
 .../tika/parser/microsoft/ExcelParserTest.java     | 27 +++++++++++++++++++++
 .../parser/microsoft/PowerPointParserTest.java     | 28 ++++++++++++++++++++++
 .../parser/microsoft/ooxml/OOXMLParserTest.java    |  3 +++
 4 files changed, 68 insertions(+)

diff --git 
a/tika-bundles/tika-bundle-standard/src/test/java/org/apache/tika/bundle/FelixBundleIT.java
 
b/tika-bundles/tika-bundle-standard/src/test/java/org/apache/tika/bundle/FelixBundleIT.java
index 87755178bb..0cefe8aa7a 100644
--- 
a/tika-bundles/tika-bundle-standard/src/test/java/org/apache/tika/bundle/FelixBundleIT.java
+++ 
b/tika-bundles/tika-bundle-standard/src/test/java/org/apache/tika/bundle/FelixBundleIT.java
@@ -16,12 +16,22 @@
  */
 package org.apache.tika.bundle;
 
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
+
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+
 import org.osgi.framework.launch.FrameworkFactory;
 
 public class FelixBundleIT extends BundleIT {
 
     @Override
     protected FrameworkFactory frameworkFactory() {
+        // TODO: drop once Felix formats its JavaSE version with Locale.ROOT 
(Util.java:168 in
+        // 7.0.5 builds "0.0.0.JavaSE_%03d" in the default locale; 
Arabic-Indic digits make an
+        // invalid qualifier, the system bundle exports no java.* and nothing 
resolves)
+        
assumeTrue(DecimalFormatSymbols.getInstance(Locale.getDefault()).getZeroDigit() 
== '0',
+                "Felix cannot start under a locale with non-ASCII digits");
         return new org.apache.felix.framework.FrameworkFactory();
     }
 }
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
index eb4efec0f4..900b1f6397 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
@@ -33,7 +33,11 @@ import org.apache.poi.hpsf.DocumentSummaryInformation;
 import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.util.LocaleUtil;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.Isolated;
 import org.xml.sax.ContentHandler;
 
 import org.apache.tika.TikaTest;
@@ -55,7 +59,30 @@ import org.apache.tika.parser.PasswordProvider;
 import org.apache.tika.parser.microsoft.ooxml.OOXMLParser;
 import org.apache.tika.sax.BodyContentHandler;
 
+//pins the JVM default locale, which is global: no other class may run 
alongside
+@Isolated
 public class ExcelParserTest extends TikaTest {
+
+    //POI formats dates with the JVM default locale's digits whatever locale 
it is given;
+    //pin the default until that is fixed upstream (see TIKA-4920)
+    private static Locale USER_LOCALE = null;
+
+    @BeforeAll
+    public static void setUpLocale() {
+        USER_LOCALE = LocaleUtil.getUserLocale();
+    }
+
+    @AfterAll
+    public static void tearDownLocale() {
+        LocaleUtil.setUserLocale(USER_LOCALE);
+        Locale.setDefault(USER_LOCALE);
+    }
+
+    @BeforeEach
+    public void pinLocale() {
+        LocaleUtil.setUserLocale(Locale.US);
+        Locale.setDefault(Locale.US);
+    }
     @Test
     @SuppressWarnings("deprecation") // Checks legacy Tika-1.0 style metadata 
keys
     public void testExcelParser() throws Exception {
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
index 87e6c4b205..a6efbdc0a0 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
@@ -26,8 +26,13 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
 
+import org.apache.poi.util.LocaleUtil;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.Isolated;
 import org.xml.sax.ContentHandler;
 
 import org.apache.tika.TikaTest;
@@ -41,8 +46,31 @@ import org.apache.tika.metadata.TikaPagedText;
 import org.apache.tika.parser.ParseContext;
 import org.apache.tika.sax.BodyContentHandler;
 
+//pins the JVM default locale, which is global: no other class may run 
alongside
+@Isolated
 public class PowerPointParserTest extends TikaTest {
 
+    //POI formats dates with the JVM default locale's digits whatever locale 
it is given;
+    //pin the default until that is fixed upstream (see TIKA-4920)
+    private static Locale USER_LOCALE = null;
+
+    @BeforeAll
+    public static void setUpLocale() {
+        USER_LOCALE = LocaleUtil.getUserLocale();
+    }
+
+    @AfterAll
+    public static void tearDownLocale() {
+        LocaleUtil.setUserLocale(USER_LOCALE);
+        Locale.setDefault(USER_LOCALE);
+    }
+
+    @BeforeEach
+    public void pinLocale() {
+        LocaleUtil.setUserLocale(Locale.US);
+        Locale.setDefault(Locale.US);
+    }
+
     @Test
     public void testPowerPointParser() throws Exception {
         try (TikaInputStream tis = 
getResourceAsStream("/test-documents/testPPT.ppt")) {
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
index da80390b92..49fe5462bb 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
@@ -36,6 +36,7 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.parallel.Isolated;
 
 import org.apache.tika.MultiThreadedTikaTest;
 import org.apache.tika.config.loader.TikaLoader;
@@ -57,6 +58,8 @@ import org.apache.tika.parser.microsoft.OfficeParser;
 import org.apache.tika.parser.microsoft.OfficeParserConfig;
 import org.apache.tika.parser.microsoft.OfficeParserTest;
 
+//pins the JVM default locale, which is global: no other class may run 
alongside
+@Isolated
 public class OOXMLParserTest extends MultiThreadedTikaTest {
 
     private static Locale USER_LOCALE = null;

Reply via email to