Skip to content

#14741 Add command-feature (Ric*Feature) test coverage - #14742

Merged
magnesj merged 3 commits into
OPM:devfrom
magnesj:feature-fixes
Sep 15, 2026
Merged

magnesj merged 3 commits into
OPM:devfrom
magnesj:feature-fixes

Conversation

@magnesj

@magnesj magnesj commented Sep 12, 2026

Copy link
Copy Markdown
Member

Fixes #14741

Adds a new ResInsight-featuretests GoogleTest executable that boots a headless (offscreen) RiaGuiApplication and exercises Ric*Feature commands through their registered QAction, the same path the GUI uses.

Contents:

  • Test infrastructure: RiaFeatureTestModelBuilder (in-memory project model covering Eclipse, GeoMech, well path, summary, and polygon domains), RiaFeatureTestTreeView (headless tree-view/selection helper), RicFeatureExecutionRunner (triggers a feature through its QAction).
  • Enablement sweep: parameterized test calling isCommandEnabled() for every registered feature with an empty selection.
  • Execution sweep: runs every registered feature against a richer model, with a denylist and one child process per feature for isolation; limited to the nightly schedule.
  • Curated deep tests for 12 individual features, grouped under FeatureTests/Tests.
  • A null-pointer dereference fix in RicPlaceThermalFractureUsingTemplateDataFeature::selectedThermalFracture(), found by the enablement sweep.

Add the ResInsight-featuretests executable: a headless GUI test harness (RiaFeatureTestModelBuilder, RiaFeatureTestTreeView), a runner that triggers Ric*Feature commands through their QAction (RicFeatureExecutionRunner), a generic execution sweep over every registered feature (RicFeatureSweep-Test, RicFeatureExecutionSweep-Test, RicFeatureSubprocessSweep-Test, RicFeatureSweepDenylist), and supporting CMake wiring. Adds RiaRegressionTestRunner::setRunningRegressionTests() so tests can suppress modal dialogs, and shares RimMockSummaryCase as a common test model under TestModels.
Curated feature tests exercising specific Ric*Feature commands (close case, new view, delete well path, toggle items, new intersection, Eclipse property/cell filters, well path lateral, perforation interval, summary plot, well log plot, polygon, cell index filter), grouped under FeatureTests/Tests with their own CMakeLists_files.cmake.
…gTemplateDataFeature

selectedThermalFracture() dereferenced the result of selectedItemOfType<RimWellPathFracture>() without a null check, surfaced by the command-feature enablement sweep when no fracture is selected.
@magnesj magnesj self-assigned this Sep 12, 2026
@magnesj
magnesj merged commit f73afc5 into OPM:dev Sep 15, 2026
10 checks passed
@magnesj
magnesj deleted the feature-fixes branch September 15, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add command-feature (Ric*Feature) test coverage

2 participants