test: replace viser-based setuptools override repro with minimal fixture#5954
Merged
baszalmstra merged 1 commit intoprefix-dev:mainfrom Apr 24, 2026
Merged
Conversation
fb299f2 to
866bb49
Compare
tdejager
requested changes
Apr 24, 2026
The original test_setuptools_override_failure used viser==0.2.7 purely because its 52-distribution transitive graph happened to reproduce the bug from prefix-dev#1686 (resolver's in-memory index leaking into build-dispatch, fixed in prefix-dev#1969). That graph is expensive: ~42-50 s wall on Windows, and pulls cmake, ninja, xatlas, and unrelated baggage solely as side effects. This replaces it with a trivial local path-based pypi package using setuptools.build_meta. The same code path is exercised: setuptools is listed as a conda dep, so the resolver emits its 'assumed to be installed by conda' override for it; the local package's PEP 517 build then triggers build-dispatch, which must install setuptools>=60 from PyPI independently. Before prefix-dev#1969 build-dispatch shared the resolver's in-memory index and this build would fail. Test wall time drops from ~42-50 s to ~17 s on Windows with a warm user cache.
866bb49 to
feb42b9
Compare
tdejager
approved these changes
Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
test_setuptools_override_failurehas been usingviser==0.2.7as its reproducer since #1969, purely because that package's 52-distribution transitive graph happened to trigger the bug from #1686 (the resolver's in-memory index leaking into build-dispatch). That graph is expensive: ~42-50 s wall on Windows, and pullscmake,ninja,xatlas, and assorted unrelated dependencies solely as side effects.This PR replaces the fixture with a trivial local path-based pypi package that uses
setuptools.build_metaas its build backend. No production code changes. The test keeps the same name and still fails if the #1969 fix is reverted.Why the replacement still reproduces #1686:
setuptoolsis listed as a conda dependency, so the resolver emits its "assumed to be installed by conda" override for it (log confirms:the following python packages are assumed to be installed by conda: wheel ..., pip ..., packaging ..., setuptools ...).setuptools>=60from PyPI.shared_stateso build-dispatch has its own index and succeeds.Measured on Windows, warm cache,
PIXI_CACHE_DIR=<fresh tmpdir>(same isolation pattern as before):How Has This Been Tested?
Ran the replaced test locally on Windows with the
slow_integration_tests+online_testsfeatures, on a freshPIXI_CACHE_DIRtempdir:Passes in ~17 s. Logs confirm the
setuptoolsoverride is emitted by the resolver and that the PEP 517 build runs throughbuild_dispatchwithout failure.AI Disclosure
Tools: Claude Code (Opus 4.7)
Checklist: