Coding 2022-03-27

By Max Woerner Chase

This pace feels a little frustrating, but whatever. Before I can write tests, I need to expose the modules through the public interface to MOTR, and I want the way I expose them to make sense.

The idea I currently have in mind is to expose the contents of the motr._api.cli package under motr.api.cli, but doing that means making sure that all of the contents of motr._api.cli make sense to export. So, let's take a look at that.

Let's see about making these changes...

Well, before I touched anything, I discovered that flake8-html, or at least my fork, got broken. On further investigation, it's my fork. Let's see about fixing this up...

It was a little unfortunate that "flake8 crashed because of your hacked-up plugin" apparently has the same exit code as "the code had issues". But that was a pretty straightforward fix, thanks upstream.

Okay, let's actually start rearranging this...

Okay, done moving the files. Let's see how many Mypy errors this gives me. Huh. Only 8.

I addressed those and some other issues, then worked on exporting the CLI interfaces. There were... some issues, but it looks like the situation is improving...

Anyway, with all of that, I've got much better coverage numbers now. Still not ready, but the only file only non-executed lines in it...

Is my experimental generic protocol for replacing the registries.

Oh boy.

I really don't want to throw that away, so I guess I'm going to have to write mypy tests for that so I can qualify it enough to feel safe using it in the rest of the app.

It's getting late, so I'm going to publish this post now, and work on adding mypy tests the next time I pick this code up.

Good night.