Coding 2022-12-02

Tags:
By Max Woerner Chase

So, I might have been kind of out of it again today. The air is really harsh and makes it hard to breathe and stuff like that. Anyway, let's crack open my... unreleased legacy code?

The core question here is, what do the first two arguments to CommandBuilder need to be? The first argument is an Executable, which includes a script name. The second argument is a command.Metadata, and it is optional, so I might be able to get away with not passing anything.

...

Sadly, maybe not. The existing examples pass installer information in the Metadata instance, which... Wait... They're only passing that because the pip command has to actually accomplish something. The installer information doesn't establish any task dependency relationships, so it should be safe to leave the installer be. So, let's see what I think will work...

Okay, I have some syntactically valid Python code here. The goal now is to exercise unused code paths in my new wrapper code, and hopefully figure out the correctness criteria for writing the tests, because I confused myself badly the last time I tried to work that out.

I think the fundamental goal is: no matter what combination of parametric labels and parametric combinators, I'm never trying to put two different values into the same environment variable.

Anyway, we'll see when I'm able to put all of that together. For now, I'm going to wind down again.

Good night.