Here's the deal with coverage misses in the task runner code: I've got lines missing in three files. One file corresponds to some templating operations. One file corresponds to the configuration builder. And one file is the main logic.
I'm going to get that last one last. Let's add the templating first, because that should be easy. Okay, one of them was easy I think, the rest of that file, I don't want to care about right now.
For the other, let's see... There are a bunch of raises context managers in the tests, but they're not covering enough cases, and they're not checking messages, which means right now the errors are pretty cryptic. Let's see what we can do about that.
Okay, I didn't write tests to exercise the uncovered code, but I did add thorough error messages to everything that looked like it needed one, and added strict checks to the tests that hit those errors. This will come in handy when I figure out how I want to set up mutation testing.
I'm kind of too relaxed to think through writing tests to hit these lines right now, so I'll leave that for tomorrow.
For now, I'm going to wind down a bit early.