-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Qi was at 99% test coverage with only a few expressions uncovered in the deforestation pass for reasons that were mysterious. But now, the Qi 5 release branch is at 93%, and it shows that most of the deforested runtime functions are uncovered. This is unexpected since we do have dedicated tests for qi/list functions, and we expect those to be deforested. We did also verify that they are deforested by checking the order of effects during test runs, and they corresponded to the deforested implementation.
So, it is clear that those functions are being exercised but are still reporting as uncovered.
We'd like to understand why, and if necessary, report a bug upstream in the cover library.
One noteworthy change in this release is the use of binding spaces in forms like map and filter. That is, formerly, we were matching racket/list function identifiers used in Qi code in order to deforest those expressions, but now we are matching qi/list syntactic forms. As Qi macros, they are defined in a binding space. So it might be that this isn't being properly accounted for in tracking coverage.