Files
element-x-ios/UnitTests/SupportingFiles/target.yml
T
Stefan Ceriu 37c78bf6b1 Add a test covering the map framework being loadable
The shim is embedded but not linked, so nothing at build time proves it is
still there. If it stops being copied into the bundle, or the class is renamed,
dlopen simply fails at runtime and the user gets a blank map behind an error
alert. Nothing in CI would notice.

The test asserts the framework loads and the shim resolves, which is exactly
the pair that breaks if either side of the arrangement is disturbed.
2026-08-12 15:04:24 +03:00

67 lines
1.7 KiB
YAML

name: UnitTests
schemes:
UnitTests:
analyze:
config: Debug
archive:
config: Release
build:
targets:
UnitTests: all
profile:
config: Release
run:
config: Debug
disableMainThreadChecker: false
test:
config: Debug
disableMainThreadChecker: false
gatherCoverageData: true
coverageTargets:
- ElementX
testPlans:
- path: UnitTests.xctestplan
defaultPlan: true
targets:
UnitTests:
type: bundle.unit-test
platform: iOS
dependencies:
- target: ElementX
- target: MapLibreInterface
- package: MatrixRustSDK
- package: AsyncAlgorithms
- package: Clocks
- package: Dynamic
- package: BuildExtensions
product: Macros
info:
path: ../SupportingFiles/Info.plist
settings:
base:
PRODUCT_NAME: UnitTests
PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.unit.tests
# Requires iOS 26 so tests exercise the Observations-based observe(_:) overload.
IPHONEOS_DEPLOYMENT_TARGET: '26.0'
SWIFT_VERSION: 6.2
SWIFT_APPROACHABLE_CONCURRENCY: YES
SWIFT_DEFAULT_ACTOR_ISOLATION: MainActor
debug:
release:
sources:
- path: ../Sources
- path: ../SupportingFiles
- path: ../../DevelopmentAssets/Media
- path: ../../DevelopmentAssets/ClassicAppFixtures
buildPhase: resources # Necessary to add binary files to the target.
- path: ../../ElementX/Sources/Other/Extensions/Publisher.swift
- path: ../../ElementX/Sources/Other/InfoPlistReader.swift
- path: ../../Tools/Scripts/Templates/SimpleScreenExample/Tests/Unit