Repository navigation
Bundle imported frameworks required by iOS test frameworks - #3082
Merged
brentleyjones merged 1 commit intoOct 17, 2026
Merged
Conversation
brentleyjones
marked this pull request as ready for review
September 22, 2026 22:46
brentleyjones
requested review from
aaronsky,
adincebic,
keith and
luispadron
as code owners
September 22, 2026 22:46
brentleyjones
enabled auto-merge (squash)
September 24, 2026 20:24
Collect binary framework imports through test framework dependencies as well as source dependencies. Built frameworks propagate these imports without embedding them, so only imports supplied by the bundle loader should be excluded. Add archive regression tests for unit and UI tests, including preserving host deduplication for unit tests and embedding imports independently of the out-of-process UI test host.
brentleyjones
force-pushed
the
bj/test-framework-imports
branch
from
October 13, 2026 14:20
20d74f0 to
b889394
Compare
aaronsky
approved these changes
Oct 17, 2026
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.
iOS test bundles can omit an imported dynamic framework when it is reachable only through a target in
frameworks, rather than through the test'sdeps. The built framework is embedded, but its imported dependency is missing, which can cause aLibrary not loadedfailure when the test bundle loads.This brings test-bundle packaging in line with
ios_application, which already collects imported frameworks through bothdepsandframeworks(as well as extensions). Built frameworks propagate their imported dependencies without embedding them, so the enclosing app or test bundle must package those imports alongside the built frameworks.Propagate framework-import information through the unit and UI test
frameworksattributes, and collect imports from bothdepsandframeworksduring bundling. Continue excluding imports supplied by an in-process unit-test host. UI tests must package their own imports because their host runs in a separate process.Adds archive-content regression tests for unit and UI tests, plus a check that imports already supplied by a unit-test host remain excluded.
Testing
bazel test //test/starlark_tests:ios_unit_test //test/starlark_tests:ios_ui_test --test_output=errors— all 36 tests pass with the fix.