Skip to content

Run the UI tests in Linux CI - #492

Open
mattjala wants to merge 1 commit into
HDFGroup:masterfrom
mattjala:ci_ui_linux_minimal
Open

mattjala wants to merge 1 commit into
HDFGroup:masterfrom
mattjala:ci_ui_linux_minimal

Conversation

@mattjala

@mattjala mattjala commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Brings SWTBot coverage back to CI.

Several UI tests currently fail for reasons that will take more extensive work to fix. This is a first step to get the suite running in CI so that new regressions are visible.

The UI step runs under Xvfb with the metacity window manager. It has continue-on-error set and runs after packaging, so a UI failure never fails the job or blocks a build.

The CI tests also required the window manager metacity. With no window manager, no shell ever becomes active, and SWTBot resolves widgets against Display.getActiveShell(), so every wait on shell activation (closeFile(), openDataObject(), ...) times out.

The Linux CI job previously listed the HDF4 library directory only in LD_LIBRARY_PATH, and every HDF4 operation in the UI suite failed due to link errors. The tests get their library path
from platform.hdf.lib, which becomes -Djava.library.path and replaces the JVM default, so LD_LIBRARY_PATH never mattered. The job now lists the HDF4 directory in platform.hdf.lib too, as the build.properties template and the Windows workflows already do.

A summary step writes per-class test counts to the job summary.

Partially resolves #483

Brings SWTBot coverage back to CI.

Several UI tests currently fail for reasons that will take more extensive
work to fix. This is a first step to get the suite running in CI so that new
regressions are visible.

The UI step runs under Xvfb with the metacity window manager. It has
continue-on-error set and runs after packaging, so a UI failure never fails
the job or blocks a build.

Xvfb alone isn't enough. With no window manager, no shell ever becomes
active, and SWTBot resolves widgets against Display.getActiveShell(), so
every wait on shell activation (closeFile(), openDataObject(), ...) times
out.

The Linux CI job previously listed the HDF4 library directory only in
LD_LIBRARY_PATH, and every HDF4 operation in the UI suite failed due
to link errors. The tests get their library path
from platform.hdf.lib, which becomes -Djava.library.path and replaces the
JVM default, so LD_LIBRARY_PATH never mattered. The job now lists
the HDF4 directory in platform.hdf.lib too, as the build.properties
template and the Windows workflows already do.

A summary step writes per-class test counts to the job summary.
@mattjala mattjala added this to the HDFView 3.5.0 milestone Oct 5, 2026
@mattjala mattjala added the Component - Test Improvements to the test process label Oct 5, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component - Test Improvements to the test process

Projects

Status: To be triaged
Status: To be triaged

Development

Successfully merging this pull request may close these issues.

Incomplete HDFView testing in CI

1 participant