The sequencing tests were a success, so the core logic looks solid for simple cases.
However, I also wrote tests to exercise the CLI, and some part of the rendering pipeline outright does not work.
Let's go through this slowly. I've defined a pair of tests; the differences between them are not important. Thanks to Coverage.py's test integration, I can confirm that both tests are registering and calling some custom hooks on the application object. These hooks resolve the Jinja2TemplateHandler associated with the app, and inject custom filters into the environment.
At this point, I can see two reasons this could fail:
- Repeated invocations of the resolve() method are returning different handler instances. I assume this possibility doesn't make sense.
- The handler is used for rendering before the hooks can inject the custom filters. This doesn't make sense to me, and would suck, a lot.
I hope there's something else I'm missing, but if there is, I'm not in a state to figure it out. I just added a bit of exploratory logging, but I'm tired and wasn't thinking clearly and it didn't work. I think I'm going to need to drop into a debugger to figure this out. And figuring out the right way to hook that up is probably a whole other thing.