Skip to content

Update cql-tests to 9e92193 and stop skipping RolledOutIntervals on cql-execution - #147

Open
bryantaustin13 wants to merge 1 commit into
mainfrom
bump-cql-tests-rolledoutintervals
Open

bryantaustin13 wants to merge 1 commit into
mainfrom
bump-cql-tests-rolledoutintervals

Conversation

@bryantaustin13

Copy link
Copy Markdown
Contributor

Part of #80.

Problem

RolledOutIntervals (in CqlAggregateTest.xml) used starting (null as List<Interval<DateTime>>). That converted the source Date intervals to DateTime, so a correct engine returned a list of DateTime intervals while the expected output is Date intervals. cmoesel's conf/cql-execution-local.json skips the test for that reason:

Invalid Test: Incorrectly casts starting expression to List<Interval<DateTime>>: https://github.com/cqframework/cql-tests/pull/146

cqframework/cql-tests#146 (merged 2026-09-22) fixed the starting type to List<Interval<Date>>. The runner's cql-tests submodule still points at f591d9e, two commits before that fix.

The runner side of #80 is already on main:

Change

  • cql-tests submodule: f591d9e → 9e92193 (current cql-tests main). This brings in only cql-tests#146 and its merge commit, which change one line of tests/cql/CqlAggregateTest.xml.
  • conf/cql-execution-local.json: removes the RolledOutIntervals skip, since the test it describes is now fixed.

The other four configs that skip this test (localhost, development, smile-cdr-local, localhost-evaluate) are left alone. Their entries are covered by #133 / #134, and on the Java/HAPI stack the test still fails to translate for an unrelated reason. HAPI's $cql compiles the expression inside a library with using FHIR, so the test's Quantity{ value: …, unit: 'days' } resolves to FHIR.Quantity and its value expects a FHIR decimal.

Verification

Against the cql-execution test-server (cql-execution 4.0.0-beta.1 @ b1a4c3e, @cqframework/cql 5.2.0), with conf/cql-execution-local.json. Both runs use the test files at the exact submodule commit.

Tests Pass Fail Skip Error
main, cql-tests f591d9e 1842 1692 64 86 0
this PR, cql-tests 9e92193 1842 1693 64 85 0

RolledOutIntervals is the only change: skip → pass. No other test changes status or actual value.

What the engine returns for the test, before and after the fix:

  • f591d9e: List<Interval<System.DateTime>>, which the runner correctly scores as a fail against the Date-interval expected output.
  • 9e92193: List<Interval<System.Date>>, which passes.

Unit tests: 235 pass.

After merging

Anyone using a local clone should run git submodule update --init to pick up the new test files.

Once cmoesel confirms this on their setup, I think #80 can be closed.

🤖 Generated with Claude Code

…ql-execution

cql-tests #146 fixed RolledOutIntervals' starting type from
List<Interval<DateTime>> to List<Interval<Date>>, so a correct engine now
returns the Date intervals the test expects. The submodule moves from
f591d9e to 9e92193, which brings in only that one-line change to
CqlAggregateTest.xml.

conf/cql-execution-local.json skipped the test because of the old starting
type, so that skip is removed. Against the cql-execution test-server the
test now passes and no other result changes (1692 -> 1693 pass, 86 -> 85
skip). The other configs' skips are left to #134; on HAPI the test still
fails to translate because $cql's FHIR wrapper makes Quantity FHIR.Quantity.

Part of #80.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant