You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm quite fond of Scrutineer - the fault-localization component of "explain mode" from #2859 - but it's certainly not perfect. One mundane failure mode is that sometimes, as for example in https://zhd.dev/ghostwriter/?q=numpy.arange, it will point to contextlib.py or Pytest's assertion-rewrite module as the first location at which control-flow diverges.
This isn't wrong, but nor is it helpful, so I propose to hand-exclude a short list of known-to-be-uninformative modules as a postprocessing step. This is conceptually inelegant, but recoups a lot of style points from me as an 80/20 easy-to-implement improvement to the user experience.
Thoughts? Suggestions for more uninformative modules, or systematic ways to build such a list?
The text was updated successfully, but these errors were encountered:
Alas, this turns out not to work well at all - I tried a few quick things and quickly wound up playing whack-a-mole with the entire standard library and Pytest internals, and excluding all of those as an experiment just pointed to the @given decorator on my test function. Just going to give up, since the status quo is at least easily interpretable.
Wait, no: I'd tried dropping them from the CFG and that didn't work, but I think it would work to calculate the whole report and then drop any report lines which point to such modules.
I'm quite fond of Scrutineer - the fault-localization component of "explain mode" from #2859 - but it's certainly not perfect. One mundane failure mode is that sometimes, as for example in https://zhd.dev/ghostwriter/?q=numpy.arange, it will point to
contextlib.py
or Pytest's assertion-rewrite module as the first location at which control-flow diverges.This isn't wrong, but nor is it helpful, so I propose to hand-exclude a short list of known-to-be-uninformative modules as a postprocessing step. This is conceptually inelegant, but recoups a lot of style points from me as an 80/20 easy-to-implement improvement to the user experience.
Thoughts? Suggestions for more uninformative modules, or systematic ways to build such a list?
The text was updated successfully, but these errors were encountered: