Files
openclaw/apps/macos/Tests/OpenClawIPCTests/MacNodeHostWorkerPipeTests.swift

27 lines
851 B
Swift

import Foundation
import OpenClawKit
import Testing
@testable import OpenClaw
@Suite(.serialized)
struct MacNodeHostWorkerPipeTests {
@Test func `closed worker input cannot terminate the app with SIGPIPE`() async throws {
let worker = MacNodeHostWorker(session: GatewayNodeSession())
let script = """
exec 0<&-
printf '%s\\n' '{"type":"ready","version":"test","manifest":{"caps":[],"commands":[],"pathEnv":"/bin"}}'
sleep 1
"""
_ = try await worker.start(launch: MacNodeHostWorkerLaunch(
command: ["/bin/sh", "-c", script]))
let response = await worker.invoke(BridgeInvokeRequest(
id: "closed",
command: "system.run",
paramsJSON: #"{"command":["/usr/bin/true"]}"#))
#expect(!response.ok)
await worker.stop()
}
}