Skip to content

Declare RNTester test pod dependencies for dynamic frameworks - #2

Open
kunal26das wants to merge 1 commit into
codex/kmp-native-foundationfrom
codex/kmp-native-rntester
Open

Declare RNTester test pod dependencies for dynamic frameworks#2
kunal26das wants to merge 1 commit into
codex/kmp-native-foundationfrom
codex/kmp-native-rntester

Conversation

@kunal26das

@kunal26das kunal26das commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Summary

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.

This native fork PR mirrors the upstream RNTester dependencies submission as layer 2 of six. This layer is based on KMP foundation. The registered fork stack uses dependent PR bases, so this PR shows its incremental diff.

Stack order: FoundationRNTester dependenciesGradientsNative multipart boundsShared multipart parsingScroll offsets.

The RNTester podspec change is identical to the independently validated upstream fix; this fork PR inherits the foundation from the preceding layer. The results below keep their original scope and provenance; restacking is not a new test run.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant