diff --git a/Sources/CartonHelpers/Basics/Process/ProcessEnv.swift b/Sources/CartonHelpers/Basics/Process/ProcessEnv.swift index 17ca15e..d80a910 100644 --- a/Sources/CartonHelpers/Basics/Process/ProcessEnv.swift +++ b/Sources/CartonHelpers/Basics/Process/ProcessEnv.swift @@ -10,11 +10,13 @@ import Foundation -public struct ProcessEnvironmentKey { +public struct ProcessEnvironmentKey: CustomStringConvertible { public let value: String public init(_ value: String) { self.value = value } + + public var description: String { value } } extension ProcessEnvironmentKey: Encodable { diff --git a/Tests/CartonTests/ProcessTests.swift b/Tests/CartonTests/ProcessTests.swift new file mode 100644 index 0000000..ac402b8 --- /dev/null +++ b/Tests/CartonTests/ProcessTests.swift @@ -0,0 +1,16 @@ +import XCTest +import CartonHelpers + +final class ProcessTests: XCTestCase { + func testProcessEnv() async throws { + let proc = Process( + arguments: ["/usr/bin/env"], + environmentBlock: ["PATH": "/usr/local/bin:/usr/bin"] + ) + try proc.launch() + let result = try await proc.waitUntilExit() + let out = try result.utf8Output() + .trimmingCharacters(in: .whitespacesAndNewlines) + XCTAssertEqual(out, "PATH=/usr/local/bin:/usr/bin") + } +}