9
9
import SwiftTask
10
10
import XCTest
11
11
12
+ /// Safe background flag checking delay to not conflict with main-dispatch_after.
13
+ /// (0.3 may be still short for certain environment)
14
+ let SAFE_BG_FLAG_CHECK_DELAY = 0.5
15
+
12
16
class AsyncSwiftTaskTests : SwiftTaskTests
13
17
{
14
18
override var isAsync : Bool { return true }
@@ -856,7 +860,7 @@ class SwiftTaskTests: _TestCase
856
860
857
861
var isPaused = false
858
862
859
- Async . background ( after: 0.5 ) {
863
+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
860
864
while isPaused {
861
865
NSThread . sleepForTimeInterval ( 0.1 )
862
866
}
@@ -890,7 +894,7 @@ class SwiftTaskTests: _TestCase
890
894
}
891
895
892
896
// pause & resume
893
- Async . main ( after : 0.1 ) {
897
+ self . perform {
894
898
895
899
groupedTask. pause ( )
896
900
XCTAssertEqual ( groupedTask. state, TaskState . Paused)
@@ -1014,7 +1018,7 @@ class SwiftTaskTests: _TestCase
1014
1018
1015
1019
var isCancelled = false
1016
1020
1017
- Async . background ( after: 0.1 ) {
1021
+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
1018
1022
if isCancelled {
1019
1023
return
1020
1024
}
@@ -1046,7 +1050,7 @@ class SwiftTaskTests: _TestCase
1046
1050
}
1047
1051
1048
1052
// cancel before fulfilled
1049
- Async . main ( after : 0.01 ) {
1053
+ self . perform {
1050
1054
groupedTask. cancel ( error: " Cancel " )
1051
1055
return
1052
1056
}
@@ -1071,7 +1075,7 @@ class SwiftTaskTests: _TestCase
1071
1075
1072
1076
var isPaused = false
1073
1077
1074
- Async . background ( after: 0.2 ) {
1078
+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
1075
1079
while isPaused {
1076
1080
NSThread . sleepForTimeInterval ( 0.1 )
1077
1081
}
@@ -1103,12 +1107,12 @@ class SwiftTaskTests: _TestCase
1103
1107
}
1104
1108
1105
1109
// pause & resume
1106
- Async . main ( after : 0.01 ) {
1110
+ self . perform {
1107
1111
1108
1112
groupedTask. pause ( )
1109
1113
XCTAssertEqual ( groupedTask. state, TaskState . Paused)
1110
1114
1111
- Async . main ( after: 0.4 ) {
1115
+ Async . main ( after: SAFE_BG_FLAG_CHECK_DELAY + 0.2 ) {
1112
1116
1113
1117
groupedTask. resume ( )
1114
1118
XCTAssertEqual ( groupedTask. state, TaskState . Running)
0 commit comments