mattcasters opened a new issue, #8752:
URL: https://github.com/apache/hop/issues/8752

   ### Apache Hop version?
   
   SNAPSHOT-20261004
   
   ### Java version?
   
   OpenJDK 21
   
   ### Operating system
   
   Linux
   
   ### What happened?
   
   The daily Jenkins build (`Hop/Hop-integration-tests`) fails in 
`hop-misc-projects` before the integration-test stage starts. #2328 (2 October) 
was the last build that got past the unit tests. #2329 and #2330 fail the same 
way. #2329 is the first daily that includes #8702.
   
   `AllProjectsSearchablesLocationTest` calls `HopNamespace.setNamespace(null)` 
to mean that no project is active. That throws:
   
   ```
   java.lang.NullPointerException
        at java.base/java.util.concurrent.ConcurrentHashMap.putVal
        at 
org.apache.hop.ui.core.gui.HopNamespace.rememberForCurrentDisplay(HopNamespace.java:117)
        at 
org.apache.hop.ui.core.gui.HopNamespace.setNamespace(HopNamespace.java:80)
        at 
org.apache.hop.projects.search.AllProjectsSearchablesLocationTest.extensionPointAddsAllProjectsEvenWithoutAnActiveProject(AllProjectsSearchablesLocationTest.java:153)
        at 
org.apache.hop.projects.search.AllProjectsSearchablesLocationTest.accessControlFiltersTheAllProjectsList(AllProjectsSearchablesLocationTest.java:210)
   ```
   
   Surefire reruns the two methods (`-Dsurefire.rerunFailingTestsCount=2`) and 
they fail again. With `-fae` the rest of the reactor succeeds, then the build 
stops. The "Create Docker image & Run Tests" stage is skipped.
   
   The daily job runs under Xvfb and does not pass `-Pskip-uitest`, so 
`@Tag("uitest")` tests share the Surefire fork with the unit tests (`forkCount` 
1, `reuseForks` true). `ProjectsDisabledWidgetsTest` calls 
`HopGui.getInstance()`. The `HopGui` constructor sets `HOP_PLATFORM_RUNTIME` to 
`GUI` and leaves `Display.getDefault()` on that thread. On the Jenkins class 
order that UI test runs first, so `HopNamespace` tries to store the namespace 
on the display. `ConcurrentHashMap` rejects a null value.
   
   The search test passes when it runs before any UI test, which is why a 
desktop run of that class alone stays green.
   
   ### Issue Priority
   
   Priority: 1
   
   ### Issue Component
   
   Component: Hop Gui
   Component: Integration Testing
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to