File tree Expand file tree Collapse file tree 3 files changed +13
-10
lines changed
Sources/signal-handling-tests-helper
Tests/SignalHandlingTests Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -15,27 +15,28 @@ private class MemWitness {
1515 }
1616
1717 deinit {
18- ManualDispatchMemTest . logger ? . debug ( " Deinit memory witness " )
18+ ManualDispatchMemTest . unsafeLogger ? . debug ( " Deinit memory witness " )
1919 }
2020
2121}
2222
2323struct ManualDispatchMemTest : ParsableCommand {
2424
25- static var logger : Logger ?
25+ /* Only modified when the program starts. */
26+ static nonisolated ( unsafe) var unsafeLogger: Logger ?
2627
2728 func run( ) throws {
2829 LoggingSystem . bootstrap { _ in CLTLogger ( multilineMode: . allMultiline) }
2930
3031 var logger = Logger ( label: " main " )
3132 logger. logLevel = . trace
32- Self . logger = logger /* We must do this to be able to use the logger from the C handler. */
33+ Self . unsafeLogger = logger /* We must do this to be able to use the logger from the C handler. */
3334 Conf [ rootValueFor: \. signalHandling. logger] ? . logLevel = . trace
3435
3536 let signal = Signal . interrupt
3637 logger. info ( " Process started; monitored signal is \( signal) " )
3738
38- try Sigaction ( handler: . ansiC( { _ in Self . logger ? . debug ( " In sigaction handler " ) } ) ) . install ( on: signal)
39+ try Sigaction ( handler: . ansiC( { _ in Self . unsafeLogger ? . debug ( " In sigaction handler " ) } ) ) . install ( on: signal)
3940
4041 let memWitness = MemWitness ( )
4142 let s = DispatchSource . makeSignalSource ( signal: signal. rawValue)
Original file line number Diff line number Diff line change @@ -11,7 +11,8 @@ import SignalHandling
1111
1212struct ManualTest : ParsableCommand {
1313
14- static var logger : Logger ?
14+ /* Only modified when the program starts. */
15+ static nonisolated ( unsafe) var unsafeLogger: Logger ?
1516
1617 enum DelayMode : String , ExpressibleByArgument {
1718 case unsig
@@ -30,14 +31,14 @@ struct ManualTest : ParsableCommand {
3031
3132 var logger = Logger ( label: " main " )
3233 logger. logLevel = . trace
33- Self . logger = logger /* We must do this to be able to use the logger from the C handler. */
34+ Self . unsafeLogger = logger /* We must do this to be able to use the logger from the C handler. */
3435 Conf [ rootValueFor: \. signalHandling. logger] ? . logLevel = . trace
3536
36- try Sigaction ( handler: . ansiC( { _ in Self . logger ? . debug ( " In libxct-test-helper sigaction handler for interrupt " ) } ) ) . install ( on: . interrupt)
37- try Sigaction ( handler: . ansiC( { _ in Self . logger ? . debug ( " In libxct-test-helper sigaction handler for terminated " ) } ) ) . install ( on: . terminated)
37+ try Sigaction ( handler: . ansiC( { _ in Self . unsafeLogger ? . debug ( " In libxct-test-helper sigaction handler for interrupt " ) } ) ) . install ( on: . interrupt)
38+ try Sigaction ( handler: . ansiC( { _ in Self . unsafeLogger ? . debug ( " In libxct-test-helper sigaction handler for terminated " ) } ) ) . install ( on: . terminated)
3839
3940 let s = DispatchSource . makeSignalSource ( signal: Signal . terminated. rawValue)
40- s. setEventHandler ( handler: { Self . logger ? . debug ( " In libxct-test-helper dispatch source handler for terminated " ) } )
41+ s. setEventHandler ( handler: { Self . unsafeLogger ? . debug ( " In libxct-test-helper dispatch source handler for terminated " ) } )
4142 s. activate ( )
4243
4344 let delayedSignal = Signal . terminated
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import Foundation
22import XCTest
33
44import CLTLogger
5+ import GlobalConfModule
56import Logging
67
78@testable import SignalHandling
@@ -16,7 +17,7 @@ final class SignalHandlingTests : XCTestCase {
1617
1718 /* Setup the logger – Not needed for most tests as we launch an external executable to test. */
1819 LoggingSystem . bootstrap { _ in CLTLogger ( multilineMode: . allMultiline) }
19- SignalHandlingConfig . logger? . logLevel = . trace
20+ Conf [ rootValueFor : \ . signalHandling . logger] ? . logLevel = . trace
2021 }
2122
2223 func testBasicSignalDelayByUnsigaction( ) throws {
You can’t perform that action at this time.
0 commit comments