Skip to content

Commit 361fba6

Browse files
committed
[Test] Add SAFE_BG_FLAG_CHECK_DELAY=0.5 to avoid test failing at certain environment, due to unexpected order of dispatch_after between mainQueue & backgroundQueue.
1 parent 2e34021 commit 361fba6

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

SwiftTaskTests/SwiftTaskTests.swift

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
import SwiftTask
1010
import 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+
1216
class 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)

SwiftTaskTests/_TestCase.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class _TestCase: XCTestCase
4242
func perform(closure: Void -> Void)
4343
{
4444
if self.isAsync {
45-
Async.main(after: 0.1, block: closure)
45+
Async.main(after: 0.01, block: closure)
4646
}
4747
else {
4848
closure()

0 commit comments

Comments
 (0)