Skip to content

Declare RNTester test pod dependencies for dynamic frameworks - #58471

Open
kunal26das wants to merge 1 commit into
react:mainfrom
kunal26das:codex/rntester-direct-test-dependencies
Open

Declare RNTester test pod dependencies for dynamic frameworks#58471
kunal26das wants to merge 1 commit into
react:mainfrom
kunal26das:codex/rntester-direct-test-dependencies

Conversation

@kunal26das

@kunal26das kunal26das commented Sep 10, 2026

Copy link
Copy Markdown

Summary

Native stacked review: Review this layer in the registered six-PR fork stack. This PR remains the upstream submission to react/react-native.

RNTester's test pod uses ObjCTurboModule and the selected JavaScript engine but does not declare their providing pods as direct dependencies. When building RNTester from source with dynamic frameworks, React-RCTTest fails to link those symbols.

Declare React-NativeModulesApple and use the existing depend_on_js_engine helper so CocoaPods links the selected engine. This is independent of the proposed Kotlin Multiplatform experiment; the dependency omission also reproduces in the generated source-build graph with KMP disabled.

Changelog:

[INTERNAL] [FIXED] - Declare RNTester test pod dependencies for dynamic framework source builds.

Test Plan

  • Compared CocoaPods graphs from the unchanged base and corrected podspec: the dynamic base graph omits the symbol providers; the corrected graph includes them.
  • Checked the engine helper with its default/Hermes settings and JSC selection.
  • Compared static-library and static-framework graphs: all 12 aggregate configurations and 30 embedded-file entries remain unchanged.
  • Executed the existing RNTester test plan with the exact corrected podspec in the KMP integration checkout: 151 passed, 16 upstream skips, zero failures with dynamic frameworks. The static-library and static-framework runs also each passed 151 tests.
  • The native test execution above includes the KMP experiment. The independent KMP-disabled comparison checks project generation, not a second native test run. Device and Intel simulator execution were not performed.

The change is two dependency declarations; it changes no production implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant