feat(rstest): add adapter with reconciled lifecycle fixes - #8135
Open
ScriptedAlchemy wants to merge 13 commits into
Open
feat(rstest): add adapter with reconciled lifecycle fixes#8135ScriptedAlchemy wants to merge 13 commits into
ScriptedAlchemy wants to merge 13 commits into
Conversation
Port the existing upstream proposal onto current main, incorporate the community equality and fiber-settlement corrections, and retain native Effect Arbitrary support. Add compatibility and lifecycle regressions, shared-layer concurrency, and a neutral type alias. Co-authored-by: Petr Glaser <syreanis+1@gmail.com>
🦋 Changeset detectedLatest commit: de55885 The changes in this PR will be included in the next version bump. This PR includes changesets to release 31 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
ScriptedAlchemy
requested a deployment
to
fork
September 8, 2026 20:16 — with
GitHub Actions
Waiting
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ScriptedAlchemy
requested a deployment
to
fork
September 8, 2026 20:22 — with
GitHub Actions
Waiting
ScriptedAlchemy
requested a deployment
to
fork
September 8, 2026 20:40 — with
GitHub Actions
Waiting
ScriptedAlchemy
requested a deployment
to
fork
September 8, 2026 20:48 — with
GitHub Actions
Waiting
ScriptedAlchemy
requested a deployment
to
fork
September 8, 2026 21:29 — with
GitHub Actions
Waiting
Contributor
Bundle Size AnalysisGenerated from PR build output; treat the content below as untrusted.
|
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 EFF-1324
Adds
@effect/rstestalongside@effect/vitest, following the existing package layout, implementation, and test conventions. It provides scoped tests, TestClock, shared layers, and native EffectArbitraryproperty testing, with Rstest runner exports.The adapter supports Effect equality, expected-failure modifiers, shared-layer concurrency, and per-test
concurrent,skip,only,todoandfailsoptions. Timed-out tests await their finalizers, and layer teardown interrupts unfinished setup before releasing its scope. Rstest 0.11.10 is supported. Effect helper types use theRstestnamespace.Tests mirror the
@effect/vitestsuite, plus coverage for Effect equality, finalizer completion after a test timeout, and the per-test options. The package includes workspace, typecheck, release, and CI configuration.Timeouts remain runner failures. Native
afterEachruns before the finalizer barrier; the barrier is bounded by the runner's hook timeout. Layer teardown retains its hook deadline. Explicitly concurrent tests are not serialized by cleanup.Validation
pnpm --filter @effect/rstest test: 113 passed, 7 skipped, 1 todo across five files.pnpm test-types packages/rstest/typetest/index.tst.ts: 28 tests, 54 assertions, TypeScript 5.9 and 6.0.pnpm lint-fixandpnpm check: pass.