From 94e9cf20e69809c7b91c81948fe44470122e9f63 Mon Sep 17 00:00:00 2001 From: Christopher Fuller Date: Wed, 29 Jan 2025 08:00:27 -0800 Subject: [PATCH] Fix warnings --- .../NodesCodeGeneratorCommand.swift | 9 +------ .../NodesXcodeTemplatesGeneratorCommand.swift | 7 ----- Sources/NodesGenerator/YAMLDecoder.swift | 2 +- Tests/NodesTestingTests/XCTestCaseTests.swift | 22 ++++++++------- .../CoreTests/AbstractContextTests.swift | 27 +++++++++++++------ .../CoreTests/AbstractFlowTests.swift | 26 +++++++++++------- .../CoreTests/AbstractWorkerTests.swift | 22 ++++++++++----- .../InternalTests/FlowControllerTests.swift | 22 ++++++++++----- .../InternalTests/WorkerControllerTests.swift | 22 ++++++++++----- 9 files changed, 95 insertions(+), 64 deletions(-) diff --git a/Sources/Executables/NodesCodeGenerator/NodesCodeGeneratorCommand.swift b/Sources/Executables/NodesCodeGenerator/NodesCodeGeneratorCommand.swift index ee65b62f7..d2f3dde8a 100644 --- a/Sources/Executables/NodesCodeGenerator/NodesCodeGeneratorCommand.swift +++ b/Sources/Executables/NodesCodeGenerator/NodesCodeGeneratorCommand.swift @@ -14,17 +14,10 @@ import NodesGenerator @main internal struct NodesCodeGeneratorCommand: ParsableCommand { - #if swift(>=5.10) - nonisolated(unsafe) internal static let configuration: CommandConfiguration = .init( - commandName: "nodes-code-gen", - abstract: "Nodes Code Generator" - ) - #else internal static let configuration: CommandConfiguration = .init( commandName: "nodes-code-gen", abstract: "Nodes Code Generator" ) - #endif @Option(help: "The name of the preset. (App|Scene|Window|Root)") private var preset: Preset @@ -48,4 +41,4 @@ internal struct NodesCodeGeneratorCommand: ParsableCommand { } } -extension Preset: ExpressibleByArgument {} +extension Preset: @retroactive ExpressibleByArgument {} diff --git a/Sources/Executables/NodesXcodeTemplatesGenerator/NodesXcodeTemplatesGeneratorCommand.swift b/Sources/Executables/NodesXcodeTemplatesGenerator/NodesXcodeTemplatesGeneratorCommand.swift index c6fa3d19d..7b0a54bed 100644 --- a/Sources/Executables/NodesXcodeTemplatesGenerator/NodesXcodeTemplatesGeneratorCommand.swift +++ b/Sources/Executables/NodesXcodeTemplatesGenerator/NodesXcodeTemplatesGeneratorCommand.swift @@ -13,17 +13,10 @@ import NodesGenerator @main internal struct NodesXcodeTemplatesGeneratorCommand: ParsableCommand { - #if swift(>=5.10) - nonisolated(unsafe) internal static let configuration: CommandConfiguration = .init( - commandName: "nodes-xcode-templates-gen", - abstract: "Nodes Xcode Templates Generator" - ) - #else internal static let configuration: CommandConfiguration = .init( commandName: "nodes-xcode-templates-gen", abstract: "Nodes Xcode Templates Generator" ) - #endif @Option(name: .customLong("id"), help: "The Xcode templates identifier.") private var identifier: String diff --git a/Sources/NodesGenerator/YAMLDecoder.swift b/Sources/NodesGenerator/YAMLDecoder.swift index c9c0ac485..1da94779f 100644 --- a/Sources/NodesGenerator/YAMLDecoder.swift +++ b/Sources/NodesGenerator/YAMLDecoder.swift @@ -11,4 +11,4 @@ import Codextended import Yams // Enables Codextended with YAMLDecoder [https://github.com/JohnSundell/Codextended] -extension YAMLDecoder: AnyDecoder {} +extension YAMLDecoder: @retroactive AnyDecoder {} diff --git a/Tests/NodesTestingTests/XCTestCaseTests.swift b/Tests/NodesTestingTests/XCTestCaseTests.swift index 80188a336..a5f7d0977 100644 --- a/Tests/NodesTestingTests/XCTestCaseTests.swift +++ b/Tests/NodesTestingTests/XCTestCaseTests.swift @@ -26,18 +26,20 @@ final class XCTestCaseTests: XCTestCase { private static let parentPath: String = "^->BootstrapComponent->ParentComponent" private static let childPath: String = "^->BootstrapComponent->ParentComponent->ChildComponent" - @MainActor - override func setUp() { - super.setUp() - expect(Self.registry.dependencyProviderFactory(for: Self.parentPath)) == nil - expect(Self.registry.dependencyProviderFactory(for: Self.childPath)) == nil + override func setUp() async throws { + try await super.setUp() + _ = await Task { @MainActor in + expect(Self.registry.dependencyProviderFactory(for: Self.parentPath)) == nil + expect(Self.registry.dependencyProviderFactory(for: Self.childPath)) == nil + }.result } - @MainActor - override func tearDown() { - expect(Self.registry.dependencyProviderFactory(for: Self.parentPath)) == nil - expect(Self.registry.dependencyProviderFactory(for: Self.childPath)) == nil - super.tearDown() + override func tearDown() async throws { + _ = await Task { @MainActor in + expect(Self.registry.dependencyProviderFactory(for: Self.parentPath)) == nil + expect(Self.registry.dependencyProviderFactory(for: Self.childPath)) == nil + }.result + try await super.tearDown() } @MainActor diff --git a/Tests/NodesTests/CoreTests/AbstractContextTests.swift b/Tests/NodesTests/CoreTests/AbstractContextTests.swift index 2171dd848..209b3a37e 100644 --- a/Tests/NodesTests/CoreTests/AbstractContextTests.swift +++ b/Tests/NodesTests/CoreTests/AbstractContextTests.swift @@ -34,16 +34,27 @@ final class AbstractContextTests: XCTestCase, TestCaseHelpers { private var mockWorkers: [WorkerMock]! private var mockCancellables: [CancellableMock]! - @MainActor - override func setUp() { - super.setUp() - tearDown(keyPath: \.mockWorkers, initialValue: [WorkerMock(), WorkerMock(), WorkerMock()]) - tearDown(keyPath: \.mockCancellables, initialValue: [CancellableMock(), CancellableMock(), CancellableMock()]) + override func setUp() async throws { + try await super.setUp() + struct Box: @unchecked Sendable { + let testCase: T + } + let box: Box = .init(testCase: self) + _ = await Task { @MainActor in + let testCase: AbstractContextTests = box.testCase + testCase.tearDown( + keyPath: \.mockWorkers, + initialValue: [WorkerMock(), WorkerMock(), WorkerMock()] + ) + testCase.tearDown( + keyPath: \.mockCancellables, + initialValue: [CancellableMock(), CancellableMock(), CancellableMock()] + ) + }.result } - @MainActor - override func tearDown() { - super.tearDown() + override func tearDown() async throws { + try await super.tearDown() } @MainActor diff --git a/Tests/NodesTests/CoreTests/AbstractFlowTests.swift b/Tests/NodesTests/CoreTests/AbstractFlowTests.swift index 92fccc40d..920688181 100644 --- a/Tests/NodesTests/CoreTests/AbstractFlowTests.swift +++ b/Tests/NodesTests/CoreTests/AbstractFlowTests.swift @@ -27,15 +27,23 @@ final class AbstractFlowTests: XCTestCase, TestCaseHelpers { private var mockFlows: [FlowMock]! - @MainActor - override func setUp() { - super.setUp() - tearDown(keyPath: \.mockFlows, initialValue: [FlowMock(), FlowMock(), FlowMock()]) - } - - @MainActor - override func tearDown() { - super.tearDown() + override func setUp() async throws { + try await super.setUp() + struct Box: @unchecked Sendable { + let testCase: T + } + let box: Box = .init(testCase: self) + _ = await Task { @MainActor in + let testCase: AbstractFlowTests = box.testCase + testCase.tearDown( + keyPath: \.mockFlows, + initialValue: [FlowMock(), FlowMock(), FlowMock()] + ) + }.result + } + + override func tearDown() async throws { + try await super.tearDown() } @MainActor diff --git a/Tests/NodesTests/CoreTests/AbstractWorkerTests.swift b/Tests/NodesTests/CoreTests/AbstractWorkerTests.swift index e9cc01695..d8531b571 100644 --- a/Tests/NodesTests/CoreTests/AbstractWorkerTests.swift +++ b/Tests/NodesTests/CoreTests/AbstractWorkerTests.swift @@ -31,15 +31,23 @@ final class AbstractWorkerTests: XCTestCase, TestCaseHelpers { private var mockCancellables: [CancellableMock]! - @MainActor - override func setUp() { - super.setUp() - tearDown(keyPath: \.mockCancellables, initialValue: [CancellableMock(), CancellableMock(), CancellableMock()]) + override func setUp() async throws { + try await super.setUp() + struct Box: @unchecked Sendable { + let testCase: T + } + let box: Box = .init(testCase: self) + _ = await Task { @MainActor in + let testCase: AbstractWorkerTests = box.testCase + testCase.tearDown( + keyPath: \.mockCancellables, + initialValue: [CancellableMock(), CancellableMock(), CancellableMock()] + ) + }.result } - @MainActor - override func tearDown() { - super.tearDown() + override func tearDown() async throws { + try await super.tearDown() } @MainActor diff --git a/Tests/NodesTests/InternalTests/FlowControllerTests.swift b/Tests/NodesTests/InternalTests/FlowControllerTests.swift index ad435f8e0..0fed6bd47 100644 --- a/Tests/NodesTests/InternalTests/FlowControllerTests.swift +++ b/Tests/NodesTests/InternalTests/FlowControllerTests.swift @@ -15,15 +15,23 @@ final class FlowControllerTests: XCTestCase, TestCaseHelpers { private var mockFlows: [FlowMock]! - @MainActor - override func setUp() { - super.setUp() - tearDown(keyPath: \.mockFlows, initialValue: [FlowMock(), FlowMock(), FlowMock()]) + override func setUp() async throws { + try await super.setUp() + struct Box: @unchecked Sendable { + let testCase: T + } + let box: Box = .init(testCase: self) + _ = await Task { @MainActor in + let testCase: FlowControllerTests = box.testCase + testCase.tearDown( + keyPath: \.mockFlows, + initialValue: [FlowMock(), FlowMock(), FlowMock()] + ) + }.result } - @MainActor - override func tearDown() { - super.tearDown() + override func tearDown() async throws { + try await super.tearDown() } @MainActor diff --git a/Tests/NodesTests/InternalTests/WorkerControllerTests.swift b/Tests/NodesTests/InternalTests/WorkerControllerTests.swift index 46a8ccc00..15d17b6be 100644 --- a/Tests/NodesTests/InternalTests/WorkerControllerTests.swift +++ b/Tests/NodesTests/InternalTests/WorkerControllerTests.swift @@ -15,15 +15,23 @@ final class WorkerControllerTests: XCTestCase, TestCaseHelpers { private var mockWorkers: [WorkerMock]! - @MainActor - override func setUp() { - super.setUp() - tearDown(keyPath: \.mockWorkers, initialValue: [WorkerMock(), WorkerMock(), WorkerMock()]) + override func setUp() async throws { + try await super.setUp() + struct Box: @unchecked Sendable { + let testCase: T + } + let box: Box = .init(testCase: self) + _ = await Task { @MainActor in + let testCase: WorkerControllerTests = box.testCase + testCase.tearDown( + keyPath: \.mockWorkers, + initialValue: [WorkerMock(), WorkerMock(), WorkerMock()] + ) + }.result } - @MainActor - override func tearDown() { - super.tearDown() + override func tearDown() async throws { + try await super.tearDown() } @MainActor