Pip 2021-02-18

By Max Woerner Chase

There are a few fronts on the pip development. One is that there's an easily-correctable bug in my test changes. (Probably understating it; really, it's just the latest thing I've found.) The other is, we're running into "exactly what parts of the Link object should be compared when testing for equality?"

My initial "don't think too hard" implementation compared the entire link, but the legacy resolver ignores at least some of the fields on the link. The wheel cache only considers particular fields, and ignores every field that I know the legacy resolver ignores. At the same time, the new resolver apparently considers the whole Link. (For the purposes of requirements, I think.)

My take on this is, there needs to be a decision, and I shouldn't make it unilaterally, so I'm going to fix the tests I know I can fix, then, kind of... sit on this. Maybe work on the documentation and changelog. We'll have to see how fast things move.

Hm, I tried to fix that test, and it failed with the same error. I suspect the answer may be to delete the test, but I'm not sure. Okay, got it. Should be a simple edit, we'll see. I'm actually not totally sure it's possible to hit the code path I've added. Weird.

Okay, I still don't understand what's happening, because there are clearly tests that hit this, but it's seemingly weirdly difficult for me to get one particular test to hit it.

Okay, let's review. I want to have a named, editable install requirement. Okay, I think I got it.

I'm going to publish this entry probably before the test I'm interested in for now actually runs, but it was relatively simple to see what was happening, once I just looked at the source code. I think there's more for me to try to do before getting into discussions about how stuff should work.

Anyway, I'm going to wrap up while the tests go.

Good night.