Skip to content

ENH: SIMPL Backwards Compatibility Test Redesign#20

Merged
imikejackson merged 1 commit into
developfrom
topic/import_simpl_json_refactor
Apr 23, 2026
Merged

ENH: SIMPL Backwards Compatibility Test Redesign#20
imikejackson merged 1 commit into
developfrom
topic/import_simpl_json_refactor

Conversation

@imikejackson
Copy link
Copy Markdown
Contributor

Replace the centralized test with per-filter backwards compatibility tests embedded in each filter's existing test file. Each test:

Loads a small SIMPL pipeline JSON fixture (stored in git, not in the test data archive) through Pipeline::FromSIMPLFile — the same code path the application uses
Verifies the correct filter was resolved via UUID mapping
Checks that conversion completed without errors
Asserts the converted parameter values match expected values
Tests both SIMPL 6.5 (with UUID) and 6.4 (Filter_Name only) pipeline formats via DYNAMIC_SECTION

Depends on BlueQuartzSoftware/simplnx#1605

The original backwards compatibility test was a single 1,100-line monolithic test file (BackwardsCompatibilityTest.cpp) that validated SIMPL 6.5/6.6 pipeline conversion for all
  filters at once. It relied on two large hand-maintained data structures:

  - k_ParamMap (~500 lines) — a global map of parameter type UUIDs to expected exemplar values, with custom std::any comparator lambdas for each parameter type
  - k_KeyIgnoreMap (~180 lines) — a manual list of NX-only parameter keys per filter that the test had to skip

  The core maintenance problem: whenever a developer added a new parameter to any filter, they had to also update k_KeyIgnoreMap with that parameter's key, or the centralized test
  would fail. This was unintuitive, error-prone, and completely disconnected from the filter being changed. The ignore list grew with every filter enhancement and provided no
  signal about what it was actually protecting.
@imikejackson imikejackson requested a review from nyoungbq April 23, 2026 15:26
@imikejackson imikejackson merged commit 363e4a8 into develop Apr 23, 2026
6 checks passed
@imikejackson imikejackson deleted the topic/import_simpl_json_refactor branch April 23, 2026 18:03
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.

2 participants