Skip to content

Commit d25bbbc

Browse files
committed
Make test pass in a Terminal
1 parent ce490da commit d25bbbc

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

Package.resolved

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/signal-handling-tests-helper/DelaySignalUnsigaction.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Foundation
33
import ArgumentParser
44
import CLTLogger
55
import Logging
6+
import SystemPackage
67

78
import SignalHandling
89

@@ -19,11 +20,11 @@ struct DelaySignalUnsigaction : ParsableCommand {
1920

2021
let signal = Signal(rawValue: signalNumber)
2122

22-
try Sigaction(handler: .ansiC({ _ in print("in sigaction handler") })).install(on: signal)
23+
try Sigaction(handler: .ansiC({ _ in writeToStdout("in sigaction handler") })).install(on: signal)
2324

2425
_ = try SigactionDelayer_Unsig.registerDelayedSigaction(signal, handler: { _, doneHandler in
2526
DispatchQueue.global().asyncAfter(deadline: .now() + .milliseconds(500), execute: {
26-
print("allowing signal to be resent")
27+
writeToStdout("allowing signal to be resent")
2728
doneHandler(true)
2829
})
2930
})
@@ -32,3 +33,8 @@ struct DelaySignalUnsigaction : ParsableCommand {
3233
}
3334

3435
}
36+
37+
/* Using print does not work in Terminal probably due to buffering. */
38+
private func writeToStdout(_ str: String) {
39+
try! FileDescriptor.standardOutput.writeAll(Data((str + "\n").utf8))
40+
}

0 commit comments

Comments
 (0)