-
Notifications
You must be signed in to change notification settings - Fork 117
Open
Labels
command-line experience⌨️ enhancements to the command line interface⌨️ enhancements to the command line interfaceenhancementNew feature or requestNew feature or requestissue-handlingRelated to Issue handling within the testing libraryRelated to Issue handling within the testing library
Description
Motivation
I'm currently playing the game of "spot the test failure" in some SwiftPM tests (this is a subset that contains at least one of the test failures):
...
[2025-06-09T18:38:36.702Z] ◇ Test case passing 3 arguments tripleName → "mips64el-img-linux-gnuabin32" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "x86_64-unknown-windows-msvc", expectedArch: Optional(Basics.Triple.Arch.x86_64), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.win32), expectedEnvironment: Optional(Basics.Triple.Environment.msvc), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.coff)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "arm-none-linux-musleabi" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 3 arguments tripleName → "mips64-unknown-linux-gnuabin32" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "wasm32-unknown-wasi", expectedArch: Optional(Basics.Triple.Arch.wasm32), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.wasi), expectedEnvironment: nil, expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.wasm)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') started started.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "armv7em-apple-none-eabihf-macho", expectedArch: Optional(Basics.Triple.Arch.arm), expectedSubArch: Optional(Basics.Triple.SubArch.arm(Basics.Triple.SubArch.ARM.v7em)), expectedVendor: Optional(Basics.Triple.Vendor.apple), expectedOs: Optional(Basics.Triple.OS.noneOS), expectedEnvironment: Optional(Basics.Triple.Environment.eabihf), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.macho)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "mips-mti-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "mips64-unknown-linux-gnuabi64" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 3 arguments tripleName → "mips-unknown-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "aarch64-unknown-linux-gnu", expectedArch: Optional(Basics.Triple.Arch.aarch64), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.linux), expectedEnvironment: Optional(Basics.Triple.Environment.gnu), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.elf)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments firstTripleName → "x86_64-apple-macosx" (Swift.String), secondTripleName → "x86_64-apple-linux" (Swift.String), isCompatible → false (Swift.Bool) to "isRuntimeCompatibleWith returns expected value" (aka 'isRuntimeCompatibleWith(firstTripleName:secondTripleName:isCompatible:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments firstTripleName → "x86_64-apple-macosx14.0" (Swift.String), secondTripleName → "x86_64-apple-macosx13.0" (Swift.String), isCompatible → true (Swift.Bool) to "isRuntimeCompatibleWith returns expected value" (aka 'isRuntimeCompatibleWith(firstTripleName:secondTripleName:isCompatible:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "mips64el-img-linux-gnuabin32" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "riscv64-unknown-linux" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 3 arguments tripleName → "mipsel-unknown-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "mipsel-img-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 2 arguments tripleName → "armv7em-unknown-none-coff" (Swift.String), expected → ".coff" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "x86_64-apple-macosx", expectedArch: Optional(Basics.Triple.Arch.x86_64), expectedSubArch: nil, expectedVendor: Optional(Basics.Triple.Vendor.apple), expectedOs: Optional(Basics.Triple.OS.macosx), expectedEnvironment: nil, expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.macho)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "aarch64-unknown-linux-android", expectedArch: Optional(Basics.Triple.Arch.aarch64), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.linux), expectedEnvironment: Optional(Basics.Triple.Environment.android), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.elf)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 2 arguments tripleName → "armv7em-unknown-none-macho" (Swift.String), expected → ".macho" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 3 arguments tripleName → "aarch64-oe-linux" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "mips-unknown-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 3 arguments tripleName → "arm-none-none-eabi" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.702Z] ◇ Test case passing 2 arguments tripleName → "armv7em-unknown-none-xcoff" (Swift.String), expected → ".xcoff" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.702Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "x86_64-unknown-windows-msvc", expectedArch: Optional(Basics.Triple.Arch.x86_64), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.win32), expectedEnvironment: Optional(Basics.Triple.Environment.msvc), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.coff)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 2 arguments tripleName → "wasm32-unknown-wasi" (Swift.String), expected → ".wasm" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "x86_64-unknown-linux-gnu", expectedArch: Optional(Basics.Triple.Arch.x86_64), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.linux), expectedEnvironment: Optional(Basics.Triple.Environment.gnu), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.elf)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "mips64-unknown-linux-gnuabin32" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "aarch64-apple-macosx" (Swift.String), isApple → true (Swift.Bool), isDarwin → true (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 2 arguments tripleName → "armv7em-unknown-none-xcoff" (Swift.String), expected → ".xcoff" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 2 arguments tripleName → "armv7em-unknown-none-elf" (Swift.String), expected → ".elf" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "arm-oe-linux-gnueabi" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "armv7em-unknown-none-macho" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 1 argument path → "/" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "armv7em-apple-none-macho" (Swift.String), isApple → true (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 2 arguments tripleName → "armv7em-unknown-none-coff" (Swift.String), expected → ".coff" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "armv7em-apple-none-eabihf-macho", expectedArch: Optional(Basics.Triple.Arch.arm), expectedSubArch: Optional(Basics.Triple.SubArch.arm(Basics.Triple.SubArch.ARM.v7em)), expectedVendor: Optional(Basics.Triple.Vendor.apple), expectedOs: Optional(Basics.Triple.OS.noneOS), expectedEnvironment: Optional(Basics.Triple.Environment.eabihf), expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.macho)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 1 argument path → "/" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "aarch64-oe-linux" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "arm-oe-linux-gnueabi" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 2 arguments tripleName → "armv7em-unknown-none-wasm" (Swift.String), expected → ".wasm" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') started started.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "armv7em-unknown-none-macho" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "mipsel-unknown-linux-gnu" (Swift.String), isApple → false (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 2 arguments tripleName → "armv7em-unknown-none-macho" (Swift.String), expected → ".macho" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 1 argument data → DataKnownTripleParsing(tripleName: "wasm32-unknown-wasi", expectedArch: Optional(Basics.Triple.Arch.wasm32), expectedSubArch: nil, expectedVendor: nil, expectedOs: Optional(Basics.Triple.OS.wasi), expectedEnvironment: nil, expectedObjectFormat: Optional(Basics.Triple.ObjectFormat.wasm)) (BasicsTests.TripleTests.DataKnownTripleParsing) to "Known Triple Parsing" (aka 'knownTripleParsing(data:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 1 argument path → "/something/ws" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "armv7em-apple-none" (Swift.String), isApple → true (Swift.Bool), isDarwin → false (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 1 argument path → "/what/is/this/" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) started started.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 3 arguments tripleName → "x86_64h-apple-darwin" (Swift.String), isApple → true (Swift.Bool), isDarwin → true (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') started started.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 1 argument path → "/what/is/this/" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 2 arguments tripleName → "wasm32-unknown-wasi" (Swift.String), expected → ".wasm" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 3 arguments tripleName → "aarch64-apple-macosx" (Swift.String), isApple → true (Swift.Bool), isDarwin → true (Swift.Bool) to "Triple is Apple and is Darwin" (aka 'isAppleIsDarwin(_:_:_:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ✔ Test case passing 2 arguments tripleName → "armv7em-unknown-none-elf" (Swift.String), expected → ".elf" (Swift.String) to "Test dynamicLibraryExtesion attribute on Triple returns expected value" (aka 'noneOSDynamicLibrary(tripleName:expected:)') passed after 0.001 seconds.
[2025-06-09T18:38:36.703Z] ◇ Test case passing 1 argument path → "/tmp" (Swift.String) to callingCreateDirectoryOnAnExistingDirectoryIsSuccessful(path:) started started.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → ".././/.." (Swift.String), expected → ["..", ".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "foo/bar/.." (Swift.String), expected → ["foo"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "." (Swift.String), expected → ["."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "bar/../foo/..//" (Swift.String), expected → ["."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → ".." (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "bar/../foo" (Swift.String), expected → ["foo"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "bar/../foo/..//yabba/a/b/" (Swift.String), expected → ["yabba", "a", "b"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "bar" (Swift.String), expected → ["bar"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → ".././/.." (Swift.String), expected → ["..", ".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "../a/.." (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "../a" (Swift.String), expected → ["..", "a"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "abc" (Swift.String), expected → ["abc"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "./.." (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "a/.." (Swift.String), expected → ["."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "../a/.." (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ◇ Test case passing 2 arguments path → "a/../////../////./////" (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) started started.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "../a" (Swift.String), expected → ["..", "a"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "abc" (Swift.String), expected → ["abc"] (Swift.Array<Swift.String>) to relativePathComponentsAttributeAllPlatform(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "./.." (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "a/.." (Swift.String), expected → ["."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test case passing 2 arguments path → "a/../////../////./////" (Swift.String), expected → [".."] (Swift.Array<Swift.String>) to relativePathComponentsAttributeFailsOnWindows(path:expected:) passed after 0.001 seconds.
[2025-06-09T18:38:36.970Z] [debug]: server response for https://packages.example.com/mona/LinkedList/1.1.1: 200 in 0.32s
[2025-06-09T18:38:36.970Z] ✔ Suite SigningEntityTests passed after 0.387 seconds.
[2025-06-09T18:38:36.970Z] [info]: downloading mona.LinkedList 1.1.1 source archive from https://packages.example.com/mona/LinkedList/1.1.1.zip
[2025-06-09T18:38:36.970Z] ✔ Suite LLVMObjdumpSymbolProviderTests passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite TestGetNumberOfMatches passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite SwiftCompilerOutputParserTests passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite TestGetBuildSystemArgs passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite BasicTests passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test readingExistingFileReturnsExpectedContents() passed after 0.347 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite QueryEngineTests passed after 0.486 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite AdjacencyMatrixTests passed after 0.486 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite MirrorsConfigurationTests passed after 0.486 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite CategoryTests passed after 0.486 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test testWriteFileContentsSuccessful() passed after 0.401 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite FilePackageSigningEntityStorageTests passed after 0.486 seconds.
[2025-06-09T18:38:36.970Z] ✔ Suite EnvironmentKeyTests passed after 0.502 seconds.
[2025-06-09T18:38:36.970Z] ✘ Test testErrorOccursIfParentIsNotADirectory() passed after 0.418 seconds with 1 known issue.
[2025-06-09T18:38:36.970Z] ✘ Test errorOccursWhenWritingToRootDirectory() passed after 0.434 seconds with 1 known issue.
[2025-06-09T18:38:36.970Z] ✔ Test absolutePathBaseNameWithoutExtFailedOnWindows(path:expected:) with 1 test case passed after 0.413 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test absolutePathBaseNameWithoutExt(path:expected:) with 5 test cases passed after 0.413 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test suffixExtraction(path:expectedSuffix:expectedExtension:) with 6 test cases passed after 0.404 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test extraHeaders() passed after 0.511 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test delete() passed after 0.511 seconds.
[2025-06-09T18:38:36.970Z] ✔ Test isDescendant(path:ancesterOf:expected:) with 2 test cases passed after 0.404 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test absolutePathBaseNameExtractionFailsOnWindows(path:expected:) with 1 test case passed after 0.403 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test absolutePathBaseNameExtractionAllPlatforms(path:expected:) with 3 test cases passed after 0.403 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test suffixExtractionFailsOnWindows(path:) with 5 test cases passed after 0.404 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test testGet() passed after 0.511 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test isAncestor(path:ancesterOf:expected:) with 2 test cases passed after 0.403 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test isAncestorOfOrEqual(path:ancestorOfOrEqualTo:expected:) with 6 test cases passed after 0.403 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test noUserAgent() passed after 0.526 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test put() passed after 0.526 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test relativePathBaseNameWithoutExtFailsOnWindows(path:expected:) with 6 test cases passed after 0.412 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test isDescendantOfOrEqual(path:descendentOfOrEqualTo:expected:) with 6 test cases passed after 0.420 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test happyCase() passed after 0.526 seconds.
[2025-06-09T18:38:37.225Z] ✔ Suite DirectedGraphTests passed after 0.535 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test relativePathBaseNameWithoutExt(path:expected:) with 7 test cases passed after 0.412 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test exceedsDownloadSizeLimitProgress() passed after 0.527 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test relativePathDirectoryNameExtraction(path:expected:) with 3 test cases passed after 0.411 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test validResponseCodes() passed after 0.527 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test fileCorrupt() passed after 0.526 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test relativePathDirectoryNameExtractionFailsOnWindows(path:expected:) with 6 test cases passed after 0.411 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test post() passed after 0.527 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test userAgent() passed after 0.527 seconds.
[2025-06-09T18:38:37.225Z] ✔ Suite ToolsVersionSpecificationGenerationTests passed after 0.535 seconds.
[2025-06-09T18:38:37.225Z] ✔ Test absolutePathDirectoryNameAttributeFailsOnWindows(path:expected:) with 2 test cases passed after 0.411 seconds.
...
When looking for a test failure in CI or from an existing log, it's useful to be able to search for a common term.
Swift-Testing uses non-ascii ✘
and ✔
symbols to indicate failing and passing tests, making searching for the failing tests difficult.
Proposed solution
It would be great if we could put swift-testing in a CI/log mode that does not use UTF8 characters and instead uses something more common like error:
or failed:
to indicate test failures while being easy to type for search purposes.
Alternatives considered
No response
Additional information
No response
Metadata
Metadata
Assignees
Labels
command-line experience⌨️ enhancements to the command line interface⌨️ enhancements to the command line interfaceenhancementNew feature or requestNew feature or requestissue-handlingRelated to Issue handling within the testing libraryRelated to Issue handling within the testing library
Type
Projects
Status
Todo