Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #383 +/- ##
=======================================
Coverage 89.19% 89.19%
=======================================
Files 60 60
Lines 5062 5062
Branches 1445 1445
=======================================
Hits 4515 4515
Misses 315 315
Partials 232 232 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
I like the idea of investing in this. One other thing I'd like to see is some way to keep the skiplist here synchronized with the skiplist in cql-tests-runner/conf/cql-execution-local.json. Note that the skiplist in cql-execution is a superset of the one in the cql-tests-runner config because the cql-tests-runner config only skips tests we consider to be invalid (whereas cql-execution also skips tests that we fail due to our own bugs/limitations). I think the best way to do this is to have the skiplist here be the sole source of truth with a script to export the cql-tests-runner config from it. One thing we'd need to manage as well is keeping the set of tests that are used here and in the cql-tests-runner in sync. We could potentially use a submodule to cql-tests-runner for that since git supports recursive submodules. |
580275e to
3a2ffe5
Compare
|
@cmoesel Status update: I've added The skip-lists are a little more complicated than they might seem though, there are:
It's obviously not impossible to represent all this but I don't think it works well with the current skip-list.txt file format. And everything clean seems like a bigger refactor than I was hoping to do. But I'm exploring some options on that now |
…config file based on skip-list and new runner overrides file
|
After exploring a few options, the one that I've implemented here is to have a separate I think it's still not a totally perfect option, but it's a much smaller change than rewriting everything to work with, say, a YAML skip file instead |
|
Thanks for this @dehall. I didn't do a super thorough review, but there are a few things that I think we should consider:
|
✅ I think conceptually the categories are pretty good, but yeah basing anything on the text of the category name is flaky. I had been hesitant to do much that would change things like
✅
I haven't implemented this yet. It is possible, Codex showed me a couple options, one with a replaced global |
Yeah, that was definitely a longer term thought. You've already made great improvements to how this works, so I'm happy as it is right now. |
This PR introduces some improvements to the build:spec-test-data process to reduce some manual processes, and automatically skip tests that are not relevant to the library.
This PR depends on an update to cql-to-elm-cli to return a nonzero process exit code when there is a file that fails to translate. This causes the build script to terminate and should hopefully be obvious to the user. Currently, if the cli fails to translate a file, nothing detects that and we can get stale/out-of-sync files. That's happened a couple times in the past 4 months alone.
Modifications here:
invalid: "semantic"orinvalid: "syntax"as these fail at the translator level. Remove these from skip-list.txt./specification.versioncql-tests-runnera git submodule. Update scripts accordingly to point to where the relevant files are, and update tool settings (mocha, lint, etc) to ignore those nested directories.test/spec-tests/create-runner-skip-list.jsto generate an updated cql-tests-runner config file based on the latest skip list. This file is heavily based oncheck-skip-list.jsand does similar iteration over the skip-list and cql-test XMLs. (For now I didn't touchcheck-skip-list.jsto keep the diff smaller, but we could probably refactor some common logic if we wanted.) Because the sets of tests we want to skip are different between our unit tests and the tests-runner, this script depends on a new filetest/spec-tests/runner-skip-list.txtto add further skips.common-skip-listandunit-tests-skip-list. This is primarily for the benefit of the create-runner-skip-list script, where we don't want to skip the "unit-test" skips related to known issues in this repo. Also moved a few tests between categories such as adding a new category for "Numeric Type Mismatch" and moving a couple tests based on review.Temporary steps to install the development version of cql-to-elm-cli:
Pull requests into cql-execution require the following.
Submitter and reviewer should ✔ when done.
For items that are not-applicable, mark "N/A" and ✔.
Submitter:
npm run checkto run tests, lint, and prettier)Reviewer:
Name: