Coding 2021-06-17
So, I got a little distracted souping up the task runner's noxfile. It's now got another profiler, the output of which mainly serves to show off how I probably shouldn't be using the test suite to get profiler data.
Anyway, let's see if I can quickly set up more core tests. The basic topology I want is a single target that transitively depends on everything, and two pairs of "intermediate" actions that can be sequenced into one of six orders, and possibly a baseline action that sets up the dependencies.
So, there are four actions with synchronization between them. At the cost of "excess" synchronization in some cases, this can be handled by having a trio.Event that's set in one action and waited for in the next. To avoid having two cases for the initial action, a baseline action can be defined that takes one trio.Event and immediately sets it. The rest can then two trio.Events, await one, set the other, and return a dummy result.
Sadly, I'm too sleepy now to execute on this currently, but hopefully that's enough for me to go on a few days from now.
Good night.