Skip to content

refactor: Migrate daemon, jsonc, query, edit-turbo-json tests to Rust#12016

Merged
anthonyshew merged 2 commits into
mainfrom
shew/migrate-daemon-jsonc-query-edit-turbo-json
Feb 26, 2026
Merged

refactor: Migrate daemon, jsonc, query, edit-turbo-json tests to Rust#12016
anthonyshew merged 2 commits into
mainfrom
shew/migrate-daemon-jsonc-query-edit-turbo-json

Conversation

@anthonyshew

Copy link
Copy Markdown
Contributor

Summary

  • Converts 6 prysk tests to pure Rust: daemon/verbosity.t, jsonc/turbo-jsonc.t, query/variables.t, query/validation.t, edit-turbo-json/global.t, edit-turbo-json/task.t
  • Prysk count drops from 130 to 124

Test mapping

Old .t file New Rust test(s) Pattern
daemon/verbosity.t 3 tests assert!(contains) for [DEBUG] and daemon status message
jsonc/turbo-jsonc.t 5 tests Exit code + error message checks for config conflicts, success checks for valid configs
query/variables.t 3 tests JSON output equality, error message check
query/validation.t 2 tests Build fails → query succeeds with insta::assert_json_snapshot!
edit-turbo-json/task.t 1 test Exact task hash assertions across 5 config swaps
edit-turbo-json/global.t 1 test globalCacheInputs comparison across 6 config swaps

Notable fix

edit-turbo-json/global.t was a no-op in the prysk setup. It used find_global_hash.sh which greps debug output for "global hash: value=<hex>" — a format from Go turbo that Rust turbo doesn't produce. All extractions returned empty strings, and bash's unquoted test $A != $B with empty vars expands to test != (always true). The new test validates the same invariants using globalCacheInputs from --dry=json.

How to verify

cargo nextest run --test daemon_test --test jsonc_test --test edit_turbo_json --test query_test -p turbo

Convert 6 prysk tests to pure Rust. Prysk count drops from 130 to 124.

Notable: edit-turbo-json/global.t was a no-op in the prysk setup because
find_global_hash.sh relied on Go turbo's debug output format which Rust
turbo doesn't produce. The new test validates the same invariants using
globalCacheInputs from --dry=json.
@anthonyshew anthonyshew requested a review from a team as a code owner February 26, 2026 22:22
@anthonyshew anthonyshew requested review from tknickman and removed request for a team February 26, 2026 22:22
@vercel

vercel Bot commented Feb 26, 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 26, 2026 10:26pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
turbo-site Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
turborepo-agents Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm
turborepo-test-coverage Ready Ready Preview, Comment, Open in v0 Feb 26, 2026 10:26pm

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report

Metric Coverage
Lines 78.53%
Functions 50.10%
Branches 0.00%

View full report

@anthonyshew anthonyshew merged commit bf730d5 into main Feb 26, 2026
77 of 79 checks passed
@anthonyshew anthonyshew deleted the shew/migrate-daemon-jsonc-query-edit-turbo-json branch February 26, 2026 22:49
github-actions Bot added a commit that referenced this pull request Feb 27, 2026
## Release v2.8.12-canary.3

Versioned docs: https://v2-8-12-canary-3.turborepo.dev

### Changes

- fix: Prevent peerDependencies from overwriting concrete dependency
specifiers (#12004) (`a038409`)
- ci: Trigger prysk integration tests via `cargo nextest` (#11999)
(`2053ede`)
- release(turborepo): 2.8.12-canary.2 (#12005) (`dccfdf0`)
- fix: Resolve correct nested package version in bun lockfile pruning
(#12008) (`95dff45`)
- refactor: Replace shell-based fixture setup with pure Rust (#12006)
(`a743e38`)
- fix: Resolve all lockfile pruning test failures (#12009) (`21dcaed`)
- perf: Extract query module into turborepo-query crate (#12007)
(`0604379`)
- refactor: Migrate dry-json prysk tests to Rust + insta snapshots
(#12010) (`2606f3f`)
- perf: Deduplicate petgraph, fixedbitset, and dashmap (#12011)
(`9b11ef6`)
- refactor: Migrate persistent-dependencies and task-dependencies to
Rust + insta (#12012) (`9aab7b5`)
- test: Add lockfile-tests fixture for issue #12013 (#12014) (`bae81f7`)
- perf: Remove libgit2/git2 dependency, replace with gix-object (#12015)
(`fbf50e5`)
- refactor: Migrate daemon, jsonc, query, edit-turbo-json tests to Rust
(#12016) (`bf730d5`)
- perf: Remove async-graphql from turborepo-lib (#12017) (`7c8a4a0`)
- refactor: Migrate inference and run-logging tests to Rust (#12018)
(`dc4f922`)
- refactor: Migrate run-caching and strict-env-vars tests to Rust
(#12020) (`c07645d`)
- fix: Mark lockfile-aware-caching/bun prysk test as flaky (#12021)
(`c60f0c1`)
- fix: Add nextest retries for flaky tests (#12027) (`9d90270`)
- refactor: Migrate prune and run-summary tests to Rust (#12022)
(`329bdb5`)
- ci: Increase Rust test partitions from 4 to 10 (#12028) (`0c1bd47`)
- fix: Add nextest retries for flaky prysk tests (#12030) (`9b66431`)
- ci: Use larger runners for macOS Rust tests (#12029) (`9479a54`)
- fix: Add nextest retries for flaky
prune_test::test_prune_composable_config (#12032) (`b47e099`)
- fix: Suppress npm upgrade notices in Rust integration tests (#12033)
(`f698b04`)
- ci: Disable flaky Rust unit tests from release pipeline (#12034)
(`829b351`)

---------

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