refactor: Split runtime tests into Reanimated and Worklets as a separate app-type#9928
Open
tjzel wants to merge 1 commit into
Open
refactor: Split runtime tests into Reanimated and Worklets as a separate app-type#9928tjzel wants to merge 1 commit into
tjzel wants to merge 1 commit into
Conversation
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.
Note
This PR description was AI-generated.
Stacked on #9927. Part 2 of the runtime-tests spec.
Summary
I split the runtime tests between Reanimated tests and Worklets tests and made them a separate app-type in common-app, similar to how the Reanimated and CSS apps are structured.
runtime-tests/reanimated/tests/andruntime-tests/worklets/tests/based on what each file actually imports:memory,runLoop,runtimes, and the worklets-only plugin tests (fileWorkletization,jsxInWorklets,versionMismatch) went toworklets/;animations,core,layoutAnimations,props,utilities,advancedAPI,StrictMode, the framework self-tests, and the plugin tests that useuseSharedValue(contextObjects,workletClasses,recursion) went toreanimated/. Reanimated tests may freely use Worklets (Reanimated depends on it); Worklets tests import no Reanimated code.RuntimeTestsExample.tsxintoreanimated/suites.tsandworklets/suites.ts, preserving every suite's enabled/commented/disabled/skipByDefaultstate and the existing TODO comments verbatim. The sharedRuntimeTestSuitetype lives inruntime-tests/types.tswith no imports, so suite registries don't pull the test framework (or Reanimated) into the module graph at app boot — this matters for the upcoming CLI auto-run part of the spec.Runtime Testsapp-type (src/apps/runtime-tests/App.tsx) with a home screen that opens either the Reanimated or the Worklets test runner — one library at a time. It's registered in the drawer between CSS and Reanimated, and hidden on web (the old example entry haddisabledPlatforms: [WEB]).RuntimeTestsExampleentry from the Reanimated examples registry and deleted the now-decomposedRuntimeTestsExample.tsx.Test plan
yarn type:check:nativeinapps/common-apppasses with zero errors.