CommandLineToolkit
57 строк · 1.6 Кб
1import Foundation
2import ProcessController
3import SignalHandling
4import XCTest
5
6final class AutomaticManagementTests: XCTestCase {
7func test___silent() {
8XCTAssertEqual(
9AutomaticManagement.sigintThenKillIfSilent(interval: 42, killAfter: 20),
10AutomaticManagement(
11items: [
12.signalWhenSilent(.int, 42),
13.signalWhenSilent(.kill, 62)
14]
15)
16)
17
18XCTAssertEqual(
19AutomaticManagement.sigtermThenKillIfSilent(interval: 42, killAfter: 20),
20AutomaticManagement(
21items: [
22.signalWhenSilent(.term, 42),
23.signalWhenSilent(.kill, 62)
24]
25)
26)
27}
28
29func test___timeout() {
30XCTAssertEqual(
31AutomaticManagement.sigintThenKillAfterRunningFor(interval: 42, killAfter: 20),
32AutomaticManagement(
33items: [
34.signalAfter(.int, 42),
35.signalAfter(.kill, 62)
36]
37)
38)
39
40XCTAssertEqual(
41AutomaticManagement.sigtermThenKillAfterRunningFor(interval: 42, killAfter: 20),
42AutomaticManagement(
43items: [
44.signalAfter(.term, 42),
45.signalAfter(.kill, 62)
46]
47)
48)
49}
50
51func test___no_management() {
52XCTAssertEqual(
53AutomaticManagement.noManagement,
54AutomaticManagement.multiple([])
55)
56}
57}
58