utils/dep_freshness/tests
Krzysztof kuhy Rudnicki 3acf913b32
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
dep_freshness: pool every Maven repo; resolve each host once; retry EAI_AGAIN
Three findings from proving the JitPack fix on the TachiyomiSY gate:

- The first repository with a stable answer used to win. Central still
  carries com.github.ben-manes:gradle-versions-plugin 0.11.1 (2016) while
  the plugin portal has 0.54.0, so a 0.51.0 pin graded "current". Every
  repository is now asked and the newest stable across the pooled lists is
  the answer.
- ~900 lookups, eight at a time, each resolving the registry host (A+AAAA)
  per connection: the LAN router's forwarder started dropping queries for
  every client on the LAN and the gate degraded itself. socket.getaddrinfo
  is memoised per (host, port, hints) for the run, and the per-host probe
  runs under a lock so eight workers make one probe, not eight.
- A resolver EAI_AGAIN ("temporary failure") during the probe marked the
  registry unreachable for the whole run. The probe retries it
  HTTP_ATTEMPTS times; a permanent failure still fails immediately.

Both retry loops lost their unreachable `return` sentinel (http.py is at
100% branch now); the resolver tests live in test_http_resolver.py to keep
test_http.py under the 250-line cap.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016P4KZw1E2sXJjYqfcZWf1x
2026-09-18 12:08:41 +02:00
..
__init__.py Add the shared dependency-freshness gate 2026-08-28 13:00:35 +02:00
conftest.py dep_freshness: ruff import order + drop unused test imports 2026-09-16 22:27:56 +02:00
test_allowlist.py Make the allowlist inheritable, and cache the quarantine lookups 2026-08-28 13:58:44 +02:00
test_check_allowlist.py An exception excuses the version it names, not the package 2026-08-28 15:26:12 +02:00
test_check.py dep_freshness: gitcommit ecosystem, no-stable fallback, JitPack repo; report unknowns beside stale 2026-09-12 20:21:34 +02:00
test_constraints.py Add the shared dependency-freshness gate 2026-08-28 13:00:35 +02:00
test_discover.py dep_freshness: read every *.versions.toml catalog, not only libs 2026-09-12 19:15:04 +02:00
test_edges.py dep_freshness: ruff import order + drop unused test imports 2026-09-16 22:27:56 +02:00
test_evaluate.py One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
test_gitcommit.py dep_freshness: a commit pin is current at any branch head, not only the default one 2026-09-12 20:25:56 +02:00
test_golang.py Add the shared dependency-freshness gate 2026-08-28 13:00:35 +02:00
test_google_api.py dep_freshness: upstream: allowlist predicate for forks; Google API clients judged inside their generation 2026-09-12 20:32:34 +02:00
test_gradle_parser.py dep_freshness: Gradle ecosystem -- version catalogs, wrapper, Maven registries 2026-09-12 19:10:42 +02:00
test_gradle_registry.py dep_freshness: pool every Maven repo; resolve each host once; retry EAI_AGAIN 2026-09-18 12:08:41 +02:00
test_http_resolver.py dep_freshness: pool every Maven repo; resolve each host once; retry EAI_AGAIN 2026-09-18 12:08:41 +02:00
test_http.py dep_freshness: retry a slow registry read with an escalating timeout before calling it offline 2026-09-13 11:46:18 +02:00
test_install_precommit_ci.py Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 18:45:55 +02:00
test_install.py Refuse to overwrite utils' own checker with the delegate shim 2026-08-28 16:02:34 +02:00
test_parsers_edges.py See git-tag pins in Python requirements; cut crdt-sync 0.9.1, gatelock 0.7.2 2026-08-28 14:52:19 +02:00
test_parsers.py dep_freshness: accept Cargo's =x.y.z as the exact pin it is 2026-09-06 18:07:10 +02:00
test_quarantine.py Make the allowlist inheritable, and cache the quarantine lookups 2026-08-28 13:58:44 +02:00
test_registries.py Add the shared dependency-freshness gate 2026-08-28 13:00:35 +02:00
test_report.py dep_freshness: ruff import order + drop unused test imports 2026-09-16 22:27:56 +02:00
test_resolve.py dep_freshness: ruff import order + drop unused test imports 2026-09-16 22:27:56 +02:00
test_toolchain_registry.py dep_freshness: gitcommit ecosystem, no-stable fallback, JitPack repo; report unknowns beside stale 2026-09-12 20:21:34 +02:00
test_upstream.py dep_freshness: upstream: allowlist predicate for forks; Google API clients judged inside their generation 2026-09-12 20:32:34 +02:00
test_versions.py dep_freshness: gitcommit ecosystem, no-stable fallback, JitPack repo; report unknowns beside stale 2026-09-12 20:21:34 +02:00
test_workflow.py One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00