diff --git a/Sources/_InternalTestSupport/Observability.swift b/Sources/_InternalTestSupport/Observability.swift index 906c02c2597..0fd7c400201 100644 --- a/Sources/_InternalTestSupport/Observability.swift +++ b/Sources/_InternalTestSupport/Observability.swift @@ -248,17 +248,27 @@ public class DiagnosticsTestResult { severity: Basics.Diagnostic.Severity, //metadata: ObservabilityMetadata? = .none, file: StaticString = #file, - line: UInt = #line + line: UInt = #line, + sourceLocation: SourceLocation = #_sourceLocation ) -> Basics.Diagnostic? { guard !self.uncheckedDiagnostics.isEmpty else { - XCTFail("No diagnostics left to check", file: file, line: line) + if Test.current != nil { + Issue.record("No diagnostics left to check", sourceLocation: sourceLocation) + } else { + XCTFail("No diagnostics left to check", file: file, line: line) + } return nil } let diagnostic: Basics.Diagnostic = self.uncheckedDiagnostics.removeFirst() - XCTAssertMatch(diagnostic.message, message, file: file, line: line) - XCTAssertEqual(diagnostic.severity, severity, file: file, line: line) + if Test.current != nil { + #expect(diagnostic.severity == severity, sourceLocation: sourceLocation) + #expect(message ~= diagnostic.message, sourceLocation: sourceLocation) + } else { + XCTAssertMatch(diagnostic.message, message, file: file, line: line) + XCTAssertEqual(diagnostic.severity, severity, file: file, line: line) + } // FIXME: (diagnostics) compare complete metadata when legacy bridge is removed //XCTAssertEqual(diagnostic.metadata, metadata, file: file, line: line) //XCTAssertEqual(diagnostic.metadata?.droppingLegacyKeys(), metadata?.droppingLegacyKeys(), file: file, line: line) diff --git a/Tests/BasicsTests/CancellatorTests.swift b/Tests/BasicsTests/CancellatorTests.swift index 3433bfae498..3bd5c98f60d 100644 --- a/Tests/BasicsTests/CancellatorTests.swift +++ b/Tests/BasicsTests/CancellatorTests.swift @@ -12,6 +12,7 @@ @testable import Basics import _InternalTestSupport +import Testing import XCTest import class Basics.AsyncProcess diff --git a/Tests/BasicsTests/ObservabilitySystemTests.swift b/Tests/BasicsTests/ObservabilitySystemTests.swift index 811a8bcadf4..ef4b90791e9 100644 --- a/Tests/BasicsTests/ObservabilitySystemTests.swift +++ b/Tests/BasicsTests/ObservabilitySystemTests.swift @@ -178,7 +178,7 @@ struct ObservabilitySystemTest { #expect(diagnostic_metadata.testKey1 == metadata.testKey1) } do { - let diagnostic = try #require(result.check(diagnostic: "debug", severity: .error)) + let diagnostic = try #require(result.check(diagnostic: "debug", severity: .debug)) let diagnostic_metadata = try #require(diagnostic.metadata) #expect(diagnostic_metadata.testKey1 == metadata.testKey1) } diff --git a/Tests/PackageLoadingTests/ManifestLoaderCacheTests.swift b/Tests/PackageLoadingTests/ManifestLoaderCacheTests.swift index b6f46beab36..3a9d1493ac8 100644 --- a/Tests/PackageLoadingTests/ManifestLoaderCacheTests.swift +++ b/Tests/PackageLoadingTests/ManifestLoaderCacheTests.swift @@ -14,6 +14,7 @@ @testable import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest @available(macOS 13, iOS 16, tvOS 16, watchOS 9, *) diff --git a/Tests/PackageLoadingTests/ModuleMapGenerationTests.swift b/Tests/PackageLoadingTests/ModuleMapGenerationTests.swift index b57fa666e3d..88656851dc3 100644 --- a/Tests/PackageLoadingTests/ModuleMapGenerationTests.swift +++ b/Tests/PackageLoadingTests/ModuleMapGenerationTests.swift @@ -14,6 +14,7 @@ import Basics import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest final class ModuleMapGeneration: XCTestCase { diff --git a/Tests/PackageLoadingTests/PD_4_0_LoadingTests.swift b/Tests/PackageLoadingTests/PD_4_0_LoadingTests.swift index fd29edf26cc..88fa6bb5fd2 100644 --- a/Tests/PackageLoadingTests/PD_4_0_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_4_0_LoadingTests.swift @@ -14,6 +14,7 @@ import Basics import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest final class PackageDescription4_0LoadingTests: PackageDescriptionLoadingTests { diff --git a/Tests/PackageLoadingTests/PD_4_2_LoadingTests.swift b/Tests/PackageLoadingTests/PD_4_2_LoadingTests.swift index 2f54e2a14de..920a6d28ec0 100644 --- a/Tests/PackageLoadingTests/PD_4_2_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_4_2_LoadingTests.swift @@ -15,6 +15,7 @@ import Dispatch import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest import enum TSCBasic.PathValidationError diff --git a/Tests/PackageLoadingTests/PD_5_0_LoadingTests.swift b/Tests/PackageLoadingTests/PD_5_0_LoadingTests.swift index 58746bfb776..70f41532b55 100644 --- a/Tests/PackageLoadingTests/PD_5_0_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_5_0_LoadingTests.swift @@ -14,6 +14,7 @@ import Basics import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest import struct TSCBasic.ByteString diff --git a/Tests/PackageLoadingTests/PD_5_2_LoadingTests.swift b/Tests/PackageLoadingTests/PD_5_2_LoadingTests.swift index 6ffad9b047e..1255c1a780b 100644 --- a/Tests/PackageLoadingTests/PD_5_2_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_5_2_LoadingTests.swift @@ -14,6 +14,7 @@ import Basics import PackageLoading import PackageModel import _InternalTestSupport +import Testing import XCTest final class PackageDescription5_2LoadingTests: PackageDescriptionLoadingTests { diff --git a/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift b/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift index ec26eeb7bb6..0e88d708d06 100644 --- a/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift @@ -14,6 +14,7 @@ import Basics import PackageModel import PackageLoading import _InternalTestSupport +import Testing import XCTest import enum TSCBasic.PathValidationError diff --git a/Tests/PackageLoadingTests/PkgConfigParserTests.swift b/Tests/PackageLoadingTests/PkgConfigParserTests.swift index cfdad79f4db..f226ab970e1 100644 --- a/Tests/PackageLoadingTests/PkgConfigParserTests.swift +++ b/Tests/PackageLoadingTests/PkgConfigParserTests.swift @@ -13,6 +13,7 @@ import Basics @testable import PackageLoading import _InternalTestSupport +import Testing import XCTest import struct TSCBasic.ByteString diff --git a/Tests/PackageLoadingTests/TargetSourcesBuilderTests.swift b/Tests/PackageLoadingTests/TargetSourcesBuilderTests.swift index b8ac83dabd0..e0b4b504f66 100644 --- a/Tests/PackageLoadingTests/TargetSourcesBuilderTests.swift +++ b/Tests/PackageLoadingTests/TargetSourcesBuilderTests.swift @@ -15,6 +15,7 @@ import Foundation import PackageModel import PackageLoading import _InternalTestSupport +import Testing import XCTest final class TargetSourcesBuilderTests: XCTestCase { diff --git a/Tests/PackageModelTests/PackageModelTests.swift b/Tests/PackageModelTests/PackageModelTests.swift index 5c5643a108d..851d56609db 100644 --- a/Tests/PackageModelTests/PackageModelTests.swift +++ b/Tests/PackageModelTests/PackageModelTests.swift @@ -17,6 +17,7 @@ import Basics import _InternalTestSupport import func TSCBasic.withTemporaryFile +import Testing import XCTest import struct TSCBasic.ByteString diff --git a/Tests/PackageRegistryTests/PackageSigningEntityTOFUTests.swift b/Tests/PackageRegistryTests/PackageSigningEntityTOFUTests.swift index c1df6bb1fa4..275eda182ce 100644 --- a/Tests/PackageRegistryTests/PackageSigningEntityTOFUTests.swift +++ b/Tests/PackageRegistryTests/PackageSigningEntityTOFUTests.swift @@ -17,6 +17,7 @@ import PackageModel @testable import PackageRegistry @testable import PackageSigning import _InternalTestSupport +import Testing import XCTest import struct TSCUtility.Version diff --git a/Tests/PackageRegistryTests/PackageVersionChecksumTOFUTests.swift b/Tests/PackageRegistryTests/PackageVersionChecksumTOFUTests.swift index 798d39f48b8..6c2c3e74abd 100644 --- a/Tests/PackageRegistryTests/PackageVersionChecksumTOFUTests.swift +++ b/Tests/PackageRegistryTests/PackageVersionChecksumTOFUTests.swift @@ -17,6 +17,7 @@ import PackageFingerprint import PackageModel @testable import PackageRegistry import _InternalTestSupport +import Testing import XCTest import struct TSCUtility.Version diff --git a/Tests/PackageRegistryTests/SignatureValidationTests.swift b/Tests/PackageRegistryTests/SignatureValidationTests.swift index 6e027eafe6b..7ba67e2c0c6 100644 --- a/Tests/PackageRegistryTests/SignatureValidationTests.swift +++ b/Tests/PackageRegistryTests/SignatureValidationTests.swift @@ -17,6 +17,7 @@ import PackageModel import PackageSigning import _InternalTestSupport import X509 // FIXME: need this import or else SwiftSigningIdentity init crashes +import Testing import XCTest import struct TSCUtility.Version diff --git a/Tests/SourceControlTests/RepositoryManagerTests.swift b/Tests/SourceControlTests/RepositoryManagerTests.swift index 6154b83e70c..b0dc4621d14 100644 --- a/Tests/SourceControlTests/RepositoryManagerTests.swift +++ b/Tests/SourceControlTests/RepositoryManagerTests.swift @@ -15,6 +15,7 @@ import _Concurrency import PackageModel import _InternalTestSupport @testable import SourceControl +import Testing import XCTest final class RepositoryManagerTests: XCTestCase { diff --git a/Tests/SwiftBuildSupportTests/FileSystemUtilsTests.swift b/Tests/SwiftBuildSupportTests/FileSystemUtilsTests.swift index 69418469f97..823c8599882 100644 --- a/Tests/SwiftBuildSupportTests/FileSystemUtilsTests.swift +++ b/Tests/SwiftBuildSupportTests/FileSystemUtilsTests.swift @@ -126,11 +126,6 @@ struct CreateBuildSymbolicLinkFunction { ) testDiagnostics(observability.diagnostics) { result in - result.check( - diagnostic: .contains("unable to delete"), - severity: .warning - ) - result.check( diagnostic: .contains("unable to create symbolic link"), severity: .warning diff --git a/Tests/WorkspaceTests/WorkspaceTests+Traits.swift b/Tests/WorkspaceTests/WorkspaceTests+Traits.swift index 4cad90c1de3..aa3485471e9 100644 --- a/Tests/WorkspaceTests/WorkspaceTests+Traits.swift +++ b/Tests/WorkspaceTests/WorkspaceTests+Traits.swift @@ -13,6 +13,7 @@ import _InternalTestSupport import Basics import PackageModel +import Testing import XCTest extension WorkspaceTests { diff --git a/Tests/WorkspaceTests/WorkspaceTests.swift b/Tests/WorkspaceTests/WorkspaceTests.swift index 85d853db5c5..c4b720587d2 100644 --- a/Tests/WorkspaceTests/WorkspaceTests.swift +++ b/Tests/WorkspaceTests/WorkspaceTests.swift @@ -21,6 +21,7 @@ import PackageSigning import SourceControl import SPMBuildCore @testable import Workspace +import Testing import XCTest import struct TSCBasic.ByteString