Skip to content

test: Port all 8 find-turbo prysk tests to Rust#12066

Merged
anthonyshew merged 2 commits into
mainfrom
shew/port-more-prysk
Feb 28, 2026
Merged

test: Port all 8 find-turbo prysk tests to Rust#12066
anthonyshew merged 2 commits into
mainfrom
shew/port-more-prysk

Conversation

@anthonyshew

Copy link
Copy Markdown
Contributor

Summary

  • Ports all 8 find-turbo/ prysk tests to Rust, clearing out the last major prysk subdirectory.
  • 17 new test functions covering local turbo binary discovery across all node_modules layouts: hoisted, nested, pnpm-linked (symlinked), Yarn PnP unplugged (default, moved via .yarnrc.yml, moved via YARN_RC_FILENAME env).
  • Tests verify version-dependent behavior: old turbo (< 1.8.0) gets bare args, new turbo (>= 1.8.0) gets --skip-infer --single-package.
  • Hard-mode tests cover --skip-infer self-detection, --cwd navigation, and repo root discovery from nested directories.
  • Adds setup_find_turbo, set_find_turbo_version, and set_find_turbo_link helpers.

After this PR, only new-package.t remains as prysk (requires pnpm install to update lockfiles, which can't be done portably in Rust tests).

For reviewers

The find-turbo tests use the fixture's fake bin/turbo shell scripts (which just echo $@) as stand-ins for a locally-installed turbo. The shim discovers these, checks their version from package.json, and delegates to them. The test then asserts on the echoed args to verify correct flag passing.

Port self, hoisted, linked, nested, hard-mode, unplugged,
unplugged-moved, and unplugged-env-moved to Rust integration tests.

17 new test functions covering local turbo binary discovery across
hoisted/nested/linked/unplugged node_modules layouts, version-dependent
--skip-infer flag passing, --cwd navigation, and self-invocation detection.

Adds setup_find_turbo, set_find_turbo_version, and set_find_turbo_link
helpers to common/mod.rs.

Only new-package.t remains as prysk (requires pnpm install).
@anthonyshew anthonyshew requested a review from a team as a code owner February 28, 2026 15:50
@anthonyshew anthonyshew requested review from tknickman and removed request for a team February 28, 2026 15:50
@vercel

vercel Bot commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
turbo-site Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
turborepo-agents Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm
turborepo-test-coverage Ready Ready Preview, Comment, Open in v0 Feb 28, 2026 4:42pm

@github-actions

github-actions Bot commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Metric Coverage
Lines 82.72%
Functions 54.46%
Branches 0.00%

View full report

@anthonyshew anthonyshew merged commit f827fca into main Feb 28, 2026
72 checks passed
@anthonyshew anthonyshew deleted the shew/port-more-prysk branch February 28, 2026 16:53
github-actions Bot added a commit that referenced this pull request Mar 2, 2026
## Release v2.8.13-canary.9

Versioned docs: https://v2-8-13-canary-9.turborepo.dev

### Changes

- fix: Treat `npm: alias` dependencies as external, not workspace
references (#12061) (`b179cb8`)
- test: Port 18 more prysk tests to Rust (other/ +
lockfile-aware-caching/) (#12062) (`7887af2`)
- release(turborepo): 2.8.13-canary.8 (#12063) (`2a5522a`)
- fix: Preserve file: protocol entries in pruned yarn v1 lockfile
(#12064) (`ae5c1a1`)
- perf: Use stack-allocated OidHash in FileHashes and skip expanded
hashes on normal runs (#12065) (`677b248`)
- test: Port all 8 find-turbo prysk tests to Rust (#12066) (`f827fca`)
- fix: Support pnpm per-workspace lockfiles in turbo prune (#12067)
(`23d047d`)
- test: Port final 2 prysk tests to Rust (100% complete) (#12068)
(`6d7e057`)
- fix: Resolve Berry prune failure when resolutions contain patch
overrides (#12069) (`6fe3c5e`)
- test: Add lockfile fixture for yarn berry resolution pruning (issue
#2791) (#12071) (`6cc1654`)
- chore: Remove prysk test framework entirely (#12070) (`ed2d05a`)
- refactor: Clean up test infrastructure and eliminate duplication
(#12072) (`338911d`)
- fix: Retain injected workspace package entries during pnpm lockfile
pruning (#12073) (`acbe869`)
- ci: Exclude turborepo-lsp and turborepo-schema-gen from test builds
(#12075) (`4ce12e2`)
- refactor: Clean up test infrastructure + improve test quality (#12074)
(`4571f2b`)
- ci: Remove redundant cargo build from coverage job (#12077)
(`3c9bbe2`)
- perf: Speed up lockfile test suite (#12078) (`20024df`)
- ci: Remove integration test serialization (#12079) (`24d7c02`)
- fix: Preserve `file:` and `link:` protocol entries in pruned bun
lockfile (#12076) (`2635d9a`)
- fix: Stop running unnecessary npm install in engines tests (#12081)
(`24e4905`)
- test: Add lockfile fixture for pnpm v9 injected workspace deps (issue
#8243) (#12082) (`4d4929b`)
- fix: Filter orphaned Yarn packageExtensions entries during lockfile
pruning (#12084) (`68eb223`)
- fix: Align experimentalObservability on object maps rather than arrays
(#12089) (`9b9d1e4`)
- examples: Upgrade with-react-native-web example to use latest versions
(#12085) (`980ca43`)
- fix: duplicate /signup? in Vercel URL (#12088) (`e865b51`)
- ci: Deduplicate Rust test compilation with nextest archive (#12083)
(`962cf39`)
- fix: Prevent yarn integration tests from hanging on corepack prompts
(#12090) (`29b0da7`)
- fix: Prevent turbo dev from hanging when daemon file watching fails
(#12091) (`b0d2f62`)
- ci: Skip pnpm install for Rust test jobs (#12092) (`ebd137f`)
- perf: Optimize npm lockfile parser (#12093) (`e4b4a66`)
- chore: Trim unused dependency features for faster compilation (#12094)
(`03b79e0`)
- fix: Prevent lockfile-aware yarn test from hanging on corepack
downloads (#12095) (`bf516e4`)
- fix: Exclude turborepo-repository from JS smoke test in release
workflow (#12097) (`fecc400`)

---------

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant