From 76a9f7e9ebb06802cb26d27f9f785410a6f96702 Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 2 Oct 2025 20:39:38 +0800 Subject: [PATCH 1/2] Fix example project build issue --- Example/Example.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 6cece0c67..8240acfd5 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -11,6 +11,8 @@ 278EF52D2E2272F2009C32EB /* Equatable in Frameworks */ = {isa = PBXBuildFile; productRef = 278EF52C2E2272F2009C32EB /* Equatable */; }; 278EF52F2E227304009C32EB /* Equatable in Frameworks */ = {isa = PBXBuildFile; productRef = 278EF52E2E227304009C32EB /* Equatable */; }; 279080A52E8E601B0082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; + 279085F22E8EA9DC0082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; + 279085F52E8EA9E40082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; 279284972DFF136E00234D64 /* AttributeGraph.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E6C4D12D2842740010502F /* AttributeGraph.xcframework */; }; 2792849F2DFF137400234D64 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = 2792849E2DFF137400234D64 /* SnapshotTesting */; }; 279FED052DF4566D00320390 /* AttributeGraph.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E6C4D12D2842740010502F /* AttributeGraph.xcframework */; }; @@ -123,6 +125,7 @@ buildActionMask = 2147483647; files = ( 27AF22B22E758F2900D534AB /* CoreUI.xcframework in Frameworks */, + 279085F52E8EA9E40082B5B6 /* Testing.framework in Frameworks */, 27AF22B62E758F2E00D534AB /* BacklightServices.xcframework in Frameworks */, 27CD0B5F2AFC8DA7003665EB /* OpenSwiftUI in Frameworks */, 278EF52F2E227304009C32EB /* Equatable in Frameworks */, @@ -136,6 +139,7 @@ buildActionMask = 2147483647; files = ( 27AF22B32E758F2900D534AB /* CoreUI.xcframework in Frameworks */, + 279085F22E8EA9DC0082B5B6 /* Testing.framework in Frameworks */, 27AF22B72E758F2E00D534AB /* BacklightServices.xcframework in Frameworks */, 27D49E0E2BA60AF600F6E2E2 /* OpenSwiftUI in Frameworks */, 278EF52D2E2272F2009C32EB /* Equatable in Frameworks */, From 70ad7de673a62e6456cfa68556205e49482d34c6 Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 2 Oct 2025 21:11:00 +0800 Subject: [PATCH 2/2] Add OPENSWIFTUI_LINK_TESTING --- .github/workflows/compatibility_tests.yml | 2 ++ .github/workflows/ios.yml | 1 + .github/workflows/macos.yml | 1 + .github/workflows/ubuntu.yml | 1 + .github/workflows/uitests.yml | 1 + Example/Example.xcodeproj/project.pbxproj | 6 ------ Package.resolved | 2 +- Package.swift | 9 +++++++++ Sources/OpenSwiftUICore/Log/Logging.swift | 4 ++-- 9 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 5b6095693..3723c1b0a 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -28,6 +28,7 @@ jobs: OPENRENDERBOX_USE_LOCAL_DEPS: 1 OPENRENDERBOX_TARGET_RELEASE: ${{ matrix.release }} DARWIN_PRIVATE_FRAMEWORKS_TARGET_RELEASE: ${{ matrix.release }} + OPENSWIFTUI_LINK_TESTING: 1 GH_TOKEN: ${{ github.token }} steps: - uses: actions/checkout@v4 @@ -78,6 +79,7 @@ jobs: OPENRENDERBOX_USE_LOCAL_DEPS: 1 OPENRENDERBOX_TARGET_RELEASE: ${{ matrix.release }} DARWIN_PRIVATE_FRAMEWORKS_TARGET_RELEASE: ${{ matrix.release }} + OPENSWIFTUI_LINK_TESTING: 1 GH_TOKEN: ${{ github.token }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 8d454a39c..d9d035903 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -34,6 +34,7 @@ jobs: OPENRENDERBOX_USE_LOCAL_DEPS: 1 OPENRENDERBOX_TARGET_RELEASE: ${{ matrix.release }} DARWIN_PRIVATE_FRAMEWORKS_TARGET_RELEASE: ${{ matrix.release }} + OPENSWIFTUI_LINK_TESTING: 1 GH_TOKEN: ${{ github.token }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1b4966d40..1be8a4a6e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -29,6 +29,7 @@ jobs: OPENRENDERBOX_USE_LOCAL_DEPS: 1 OPENRENDERBOX_TARGET_RELEASE: ${{ matrix.release }} DARWIN_PRIVATE_FRAMEWORKS_TARGET_RELEASE: ${{ matrix.release }} + OPENSWIFTUI_LINK_TESTING: 1 GH_TOKEN: ${{ github.token }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 7a1e63ff2..7530ee142 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -20,6 +20,7 @@ jobs: OPENSWIFTUI_COMPATIBILITY_TEST: 0 OPENSWIFTUI_SWIFT_LOG: 1 OPENSWIFTUI_SWIFT_CRYPTO: 1 + OPENSWIFTUI_LINK_TESTING: 1 container: swift:${{ matrix.swift_version }}-jammy steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/uitests.yml b/.github/workflows/uitests.yml index 398fef619..ad9ae2669 100644 --- a/.github/workflows/uitests.yml +++ b/.github/workflows/uitests.yml @@ -34,6 +34,7 @@ jobs: OPENRENDERBOX_USE_LOCAL_DEPS: 1 OPENRENDERBOX_TARGET_RELEASE: ${{ matrix.release }} DARWIN_PRIVATE_FRAMEWORKS_TARGET_RELEASE: ${{ matrix.release }} + OPENSWIFTUI_LINK_TESTING: 0 GH_TOKEN: ${{ github.token }} steps: - uses: actions/checkout@v4 diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 8240acfd5..1f086dfe0 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -10,9 +10,6 @@ 27186AE32D538A76009E05F9 /* AttributeGraph.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E6C4D12D2842740010502F /* AttributeGraph.xcframework */; }; 278EF52D2E2272F2009C32EB /* Equatable in Frameworks */ = {isa = PBXBuildFile; productRef = 278EF52C2E2272F2009C32EB /* Equatable */; }; 278EF52F2E227304009C32EB /* Equatable in Frameworks */ = {isa = PBXBuildFile; productRef = 278EF52E2E227304009C32EB /* Equatable */; }; - 279080A52E8E601B0082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; - 279085F22E8EA9DC0082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; - 279085F52E8EA9E40082B5B6 /* Testing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279080912E8E5E7B0082B5B6 /* Testing.framework */; }; 279284972DFF136E00234D64 /* AttributeGraph.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E6C4D12D2842740010502F /* AttributeGraph.xcframework */; }; 2792849F2DFF137400234D64 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = 2792849E2DFF137400234D64 /* SnapshotTesting */; }; 279FED052DF4566D00320390 /* AttributeGraph.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27E6C4D12D2842740010502F /* AttributeGraph.xcframework */; }; @@ -100,7 +97,6 @@ buildActionMask = 2147483647; files = ( 279FED0D2DF4567B00320390 /* OpenSwiftUI in Frameworks */, - 279080A52E8E601B0082B5B6 /* Testing.framework in Frameworks */, 27AF22B82E758F2E00D534AB /* BacklightServices.xcframework in Frameworks */, 27AF22B42E758F2900D534AB /* CoreUI.xcframework in Frameworks */, 27AF22BC2E758F3700D534AB /* RenderBox.xcframework in Frameworks */, @@ -125,7 +121,6 @@ buildActionMask = 2147483647; files = ( 27AF22B22E758F2900D534AB /* CoreUI.xcframework in Frameworks */, - 279085F52E8EA9E40082B5B6 /* Testing.framework in Frameworks */, 27AF22B62E758F2E00D534AB /* BacklightServices.xcframework in Frameworks */, 27CD0B5F2AFC8DA7003665EB /* OpenSwiftUI in Frameworks */, 278EF52F2E227304009C32EB /* Equatable in Frameworks */, @@ -139,7 +134,6 @@ buildActionMask = 2147483647; files = ( 27AF22B32E758F2900D534AB /* CoreUI.xcframework in Frameworks */, - 279085F22E8EA9DC0082B5B6 /* Testing.framework in Frameworks */, 27AF22B72E758F2E00D534AB /* BacklightServices.xcframework in Frameworks */, 27D49E0E2BA60AF600F6E2E2 /* OpenSwiftUI in Frameworks */, 278EF52D2E2272F2009C32EB /* Equatable in Frameworks */, diff --git a/Package.resolved b/Package.resolved index fd79341c9..d37295b3b 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "dba5f45b3509800de52297e240d3ba12fa4ee6ff3696a740d87e49bfa8b63b81", + "originHash" : "41ef3b0800cbdd92616dd3d7912e99c1d1063b38e82444df3eec7506bbf1053b", "pins" : [ { "identity" : "darwinprivateframeworks", diff --git a/Package.swift b/Package.swift index 4fa94d44a..c2f94b38a 100644 --- a/Package.swift +++ b/Package.swift @@ -166,6 +166,15 @@ if swiftUIRenderCondition { sharedSwiftSettings.append(.define("_OPENSWIFTUI_SWIFTUI_RENDER")) } +// MARK: - [env] OPENSWIFTUI_LINK_TESTING + +// This should be disabled for UI test target due to link issue of Testing. +// Only enable for non-UI test targets. +let linkTesting = envEnable("OPENSWIFTUI_LINK_TESTING") +if linkTesting { + sharedSwiftSettings.append(.define("OPENSWIFTUI_LINK_TESTING")) +} + // MARK: - [env] OPENSWIFTUI_WERROR let warningsAsErrorsCondition = envEnable("OPENSWIFTUI_WERROR", default: isXcodeEnv && development) diff --git a/Sources/OpenSwiftUICore/Log/Logging.swift b/Sources/OpenSwiftUICore/Log/Logging.swift index 2a2418a34..b9508568e 100644 --- a/Sources/OpenSwiftUICore/Log/Logging.swift +++ b/Sources/OpenSwiftUICore/Log/Logging.swift @@ -6,7 +6,7 @@ // Status: Complete import Foundation -#if canImport(Testing) +#if OPENSWIFTUI_LINK_TESTING public import Testing #endif @@ -161,7 +161,7 @@ package enum Log { _ message: @autoclosure () -> StaticString, _ args: @autoclosure () -> [CVarArg] = [] ) { - #if canImport(Testing) + #if OPENSWIFTUI_LINK_TESTING if Test.current != nil { let comment: Comment = #"[Runtime Issue]: message - "\#(message().description)" args: \#(args())"# #if swift(>=6.3)