hansva opened a new issue, #8890:
URL: https://github.com/apache/hop/issues/8890
### Apache Hop version?
2.20-SNAPSHOT
### Java version?
21
### Operating system
Linux
### What happened?
The Jenkins main build has been failing on most runs (builds 1350, 1351,
1352, 1355 and 1356), always with the same 4 tests in hop-misc-lint:
LintFileSelectionTest.resolvingTheSelectedFileNeverConstructsAGui
LintTotalsOverlayHeadlessTest (all 3 tests)
They fail because a HopGui instance already exists in the test JVM
("precondition: no GUI in this test JVM").
**Cause:**
RuleBuilderDialogNativeRuleTest is a `@Tag("uitest")` test, and since #8824
its dialog contains a TableView.
Building a TableView registers its toolbar, which calls HopGui.getInstance()
and so constructs a full HopGui when none exists.
CI runs under xvfb, so construction succeeds, and the instance stays in the
JVM for every test that runs after it. UI tests and headless tests share one
surefire JVM.
Surefire's run order follows the file system, so whether the UI test runs
first depends on the build agent: builds33 and builds35 fail, builds28 passes.
**Fix:**
Toolbars and tables no longer create a HopGui. They only look for an
existing one and use a fallback id when there isn't one.
`@Tag("uitest")` classes run in their own surefire execution (ui-test) and
therefore in their own JVM, so a UI test can no longer change what headless
tests see.
Three test helpers (GraphCanvasTestBase, SwtBotTestBase,
DisabledGuiWidgetsTestBase) depended on that accidental HopGui and are updated.
### Issue Priority
Priority: 1
### Issue Component
Component: Hop Gui
--
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]