lightning-auriga / snakemake_unit_tests

Candidate supplement to snakemake --generate-unit-tests with more compatible use cases and flexibility.
MIT License
0 stars 1 forks source link

critical fix to block inclusion logic #38

Closed lightning-auriga closed 2 years ago

lightning-auriga commented 2 years ago

patch 45ffe0da9bbcde1c8cc1a5e3920e8d2841dfa5e1 contains a critical fix to update logic. previous evaluation logic caused the code to prematurely terminate if nothing updated in a particular python pass, even if there were potentially logic branches that could still be evaluated with a followup pass. now, much more conservatively, each block that might be included contains a tracker indicating whether it has ever been subjected to python evaluation; with this flag, the inclusion status indicator can more accurately indicate the inclusion status of the code.

this logic is overly conservative in many (most) cases, and can probably be made more lenient without loss of functionality. however, the patch is needed immediately, and I'd rather complete the unit test implementation before fiddling too much with subtlety.