Repository navigation
1.24.0 — four defects that were only ever wrong on one platform, and how to check the claims yourself #19
ArcticFox2029
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
1.24.0 went out today. Four of the defects in it were only ever wrong on Windows, and one only on
Python 3.8 through 3.12 — none of them errored anywhere, and CI had been green on all five jobs for
months while two of them were live.
The shape was the same every time: a rule that held on the machine it was written on.
getcwd()iscanonical so both sides always agreed; Windows returns the string the process was started with.
The guard was not weaker there. It was absent.
read -rkeepsthe CR, and the name that came back was not a name the tool accepts. Silent on every commit.
export PATH="…:$PATH"to every operating system, and the testasserted that bash spelling — on Windows too.
Path.resolve()raises on a symlink loop before 3.13 and returns a path from 3.13 on, so a walkthat caught the exception reported the same tree honestly on one interpreter and silently
truncated on the others.
What I would rather you did than take my word for it. From a clean clone:
No network, no dependencies, no key. It re-runs the whole suite and the index-claim check and
prints what happened on your machine, and it refuses to report a result if the suite's totals line
is missing — a run that dies mid-way prints no failures at all, so the absence of failures is not
the proof.
An offer, and I mean it literally. If your repository is a shape chamnan handles badly — a
language it reads poorly, a layout that makes the index useless, a monorepo where the wrong subtree
gets indexed — post the repo here and I will measure it and reply with the numbers, good or bad.
site/remeasure.pyruns a public repository through the real modules in a couple of minutes, andthe rows that came back worse than the previous release are in the demo page's table with the
figures that made them worse.
The full notes are in CHANGELOG.md,
and
INDEX_CITED_IN_CODE.mdis attached to the release: every defect recorded in the source, linkedto the commit that fixed it and the research round that found it.
All reactions