Repository navigation
Move the competitor harness out of the ASV suite (#64) - #65
Merged
Merged
Conversation
ASV imports every module under benchmark_dir with only the benchmarks package importable (asv_runner's meta-path importer; the repository root is not on sys.path). benchmarks/competitors/chemistry_track.py imported tools at module level, so discovery aborted and Benchmark v1 run 39510611814 measured no timings. The development-only harness moves to tools/competitors/. test_asv_discovery imports the suite the same way; it fails on 61dda09 with the CI error and passes here, and asv check finds no problems.
This was referenced Oct 20, 2026
rafatahmed
added a commit
that referenced
this pull request
Nov 7, 2026
Move the competitor harness out of the ASV suite (#64)
rafatahmed
added a commit
that referenced
this pull request
Nov 7, 2026
…failed gates (#66) Hosted run 39511463809 on main at 4dffdf8 (after #62 and #65) is the first capture with every correctness gate passing: 7/7 controlled NNLS cases, 21/21 stored chemistry comparisons and 17/17 timing workloads. The publisher wrote 'The numerical scorecard is not fully passing' unconditionally. scorecard_notice() now gives that warning only when an NNLS case or chemistry comparison fails, a timing workload is missing or the workflow did not succeed, and a note otherwise; both branches are tested.
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.
Closes #64.
Problem
The Benchmark v1 workflow on
mainat61dda09(run 39510611814) measured no timings. ASV discovery aborted withModuleNotFoundError: No module named 'tools'while importingbenchmarks/competitors/chemistry_track.py, added in #63.Root cause
ASV imports every module under
benchmark_dir(benchmarks/), and makes only that package importable through its own meta-path importer (asv_runner._aux.update_sys_path); the repository root is not onsys.path. The development-only competitor harness sat inside the ASV suite and importedtoolsat module level. The local test run puts the root onsys.path, so it did not show.Fix
tools/competitors/(it is a development tool, not an ASV workload). Run commands becomepython -m tools.competitors.<track>.tests/test_asv_discovery.pyimports the suite the way ASV does: only the benchmark package importable, every submodule imported. It fails on61dda09with the CI error and passes here.tools/publish_competitor_snapshot.pyalso checkstools/competitorsfor changes since the measured commit.Verification
asv check --python=same: no problems.