Skip to content

Fix toolshed tests on Python 3.14#21617

Merged
mvdbeek merged 4 commits intogalaxyproject:devfrom
mvdbeek:fix-toolshed-tests
Jan 20, 2026
Merged

Fix toolshed tests on Python 3.14#21617
mvdbeek merged 4 commits intogalaxyproject:devfrom
mvdbeek:fix-toolshed-tests

Conversation

@mvdbeek
Copy link
Copy Markdown
Member

@mvdbeek mvdbeek commented Jan 19, 2026

Key fix is the update to 7.2, but the last commit is a nice optimization that claude thought at first was the issue.

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@mvdbeek mvdbeek changed the title Fix toolshed tests Fix toolshed tests on Python 3.14 Jan 19, 2026
@mvdbeek mvdbeek requested a review from nsoranzo January 19, 2026 18:12
@github-actions github-actions Bot added this to the 26.0 milestone Jan 19, 2026
Comment thread lib/tool_shed/webapp/controllers/repository.py Outdated
Mercurial 7.2rc0 is the first release with Python 3.14 support.
Running 7.1.2 on Python 3.14 causes significant performance issues
that lead to test timeouts. Use version markers to specify 7.2rc0
for Python 3.14+ while keeping 7.1.2 for earlier Python versions.
The cmdutil.findpossible function was removed in Mercurial 7.2.
Instead of introspecting the command table to get diff defaults,
use mdiff.diffopts.defaults directly which is more stable.
Previously, reset_all_metadata_on_repository_in_tool_shed() cloned the
repository separately for each changeset revision over HTTP. With 6
changesets at ~6-7 seconds per clone, this took ~40 seconds total,
exceeding Playwright's 30-second timeout.

Now clone the repository once and use hg update to switch between
revisions. This reduces 6 network round-trips to 1, making the
operation complete well within the timeout.
@mvdbeek mvdbeek force-pushed the fix-toolshed-tests branch from 0b69c3a to 8e04871 Compare January 20, 2026 08:10
@mvdbeek mvdbeek merged commit 90edfad into galaxyproject:dev Jan 20, 2026
57 of 59 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants