How checks are actually run #4393
simoncozens
started this conversation in
General
Replies: 2 comments 2 replies
-
Add this to the docs! |
Beta Was this translation helpful? Give feedback.
2 replies
-
So #4397 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm trying to work out how the checkrunner works, i.e. at what point we actually get a list of checks and run some method on them to execute them. In a simple system, this would be something like
In Fontbakery, what actually happens is:
check_profile
callsrunner.run()
which does not actually run the checks! Instead it returns a generator:drive_session_protocol
.CheckRunner.session_protocol_generator
, which combines acheck_protocol_generator
and the check order, usingsession_protocol_generator
(a separate function).session_protocol_generator
(the function) runs the check protocol generator, yields its results and also builds a per-section summary, yielding that at the end as well.distribute_generator
actually runs through that iterator and sends its results to the targets, which are the various reporters you have configured.I can kind of see the logic to this. But it's not terribly easy to follow.
Beta Was this translation helpful? Give feedback.
All reactions