99import SwiftTask
1010import XCTest
1111
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+
1216class AsyncSwiftTaskTests : SwiftTaskTests
1317{
1418 override var isAsync : Bool { return true }
@@ -856,7 +860,7 @@ class SwiftTaskTests: _TestCase
856860
857861 var isPaused = false
858862
859- Async . background ( after: 0.5 ) {
863+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
860864 while isPaused {
861865 NSThread . sleepForTimeInterval ( 0.1 )
862866 }
@@ -890,7 +894,7 @@ class SwiftTaskTests: _TestCase
890894 }
891895
892896 // pause & resume
893- Async . main ( after : 0.1 ) {
897+ self . perform {
894898
895899 groupedTask. pause ( )
896900 XCTAssertEqual ( groupedTask. state, TaskState . Paused)
@@ -1014,7 +1018,7 @@ class SwiftTaskTests: _TestCase
10141018
10151019 var isCancelled = false
10161020
1017- Async . background ( after: 0.1 ) {
1021+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
10181022 if isCancelled {
10191023 return
10201024 }
@@ -1046,7 +1050,7 @@ class SwiftTaskTests: _TestCase
10461050 }
10471051
10481052 // cancel before fulfilled
1049- Async . main ( after : 0.01 ) {
1053+ self . perform {
10501054 groupedTask. cancel ( error: " Cancel " )
10511055 return
10521056 }
@@ -1071,7 +1075,7 @@ class SwiftTaskTests: _TestCase
10711075
10721076 var isPaused = false
10731077
1074- Async . background ( after: 0.2 ) {
1078+ Async . background ( after: SAFE_BG_FLAG_CHECK_DELAY ) {
10751079 while isPaused {
10761080 NSThread . sleepForTimeInterval ( 0.1 )
10771081 }
@@ -1103,12 +1107,12 @@ class SwiftTaskTests: _TestCase
11031107 }
11041108
11051109 // pause & resume
1106- Async . main ( after : 0.01 ) {
1110+ self . perform {
11071111
11081112 groupedTask. pause ( )
11091113 XCTAssertEqual ( groupedTask. state, TaskState . Paused)
11101114
1111- Async . main ( after: 0.4 ) {
1115+ Async . main ( after: SAFE_BG_FLAG_CHECK_DELAY + 0.2 ) {
11121116
11131117 groupedTask. resume ( )
11141118 XCTAssertEqual ( groupedTask. state, TaskState . Running)
0 commit comments