[ 
https://issues.apache.org/jira/browse/TIKA-4327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072223#comment-18072223
 ] 

ASF GitHub Bot commented on TIKA-4327:
--------------------------------------

Copilot commented on code in PR #2753:
URL: https://github.com/apache/tika/pull/2753#discussion_r3056987349


##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -42,6 +44,17 @@ public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // need to set TZ 
since extractor 2.20.0, PR# 651
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);
+    }

Review Comment:
   Changing the JVM default timezone is a global mutation and can make the 
build flaky if tests are executed in parallel across classes/modules (other 
tests may observe GMT mid-run). If the project runs JUnit 5 tests in parallel, 
consider isolating this test class (e.g., JUnit Jupiter `@Isolated` or a 
`@ResourceLock` guarding timezone/global state) or otherwise ensuring this 
module/class is excluded from parallel execution.



##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -42,6 +44,17 @@ public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // need to set TZ 
since extractor 2.20.0, PR# 651

Review Comment:
   The inline comment isn’t very actionable (\"PR# 651\" is ambiguous without a 
link/repo context). Consider referencing the concrete upstream change (link to 
the metadata-extractor PR/release note) and/or the local tracking issue (e.g., 
TIKA-4327) so future maintainers can understand why GMT is required here.
   ```suggestion
           TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // 
metadata-extractor 2.20.0 started making these parsed dates depend on the JVM 
default time zone; force GMT so the assertions remain deterministic across 
environments
   ```



##########
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/test/java/org/apache/tika/parser/image/JpegParserTest.java:
##########
@@ -42,6 +44,17 @@ public class JpegParserTest extends TikaTest {
 
     static TimeZone CURR_TIME_ZONE = TimeZone.getDefault();
     private final Parser parser = new JpegParser();
+    static private TimeZone timezone;
+
+    @BeforeAll
+    static void init() {
+        timezone = TimeZone.getDefault();
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // need to set TZ 
since extractor 2.20.0, PR# 651
+    }
+    @AfterAll
+    static void tearDown() {
+        TimeZone.setDefault(timezone);
+    }

Review Comment:
   Timezone is captured twice (`CURR_TIME_ZONE` at class initialization and 
`timezone` in `@BeforeAll`), which is redundant and can be confusing about 
which value is authoritative. Consider consolidating to a single field captured 
in `@BeforeAll` (or reuse `CURR_TIME_ZONE` and remove `timezone`) and keep the 
modifier order conventional (e.g., `private static TimeZone timezone;`) to 
align with typical Java style.





> General updates for 4.0.0
> -------------------------
>
>                 Key: TIKA-4327
>                 URL: https://issues.apache.org/jira/browse/TIKA-4327
>             Project: Tika
>          Issue Type: Task
>            Reporter: Tilman Hausherr
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to