in OSSSwiftDemo/OSSSwiftDemoTests/OSSTaskTests.swift [787:811]
func testMultipleThreadsWaitUntilFinished() {
let task = OSSTask<AnyObject>.init(delay: 500).continue({ (t) -> Any? in
return "foo"
})
let queue = DispatchQueue.init(label: "com.bolts.tests.wait")
let group = DispatchGroup.init()
let expectation = self.expectation(description: "testMultipleThreadsWaitUntilFinished")
DispatchQueue.global().async {
queue.async(group: group, execute: DispatchWorkItem.init(block: {
task.waitUntilFinished()
}))
queue.async(group: group, execute: DispatchWorkItem.init(block: {
task.waitUntilFinished()
}))
task.waitUntilFinished()
group.wait(timeout: .distantFuture)
expectation.fulfill()
}
self.waitForExpectations(timeout: 10, handler: nil)
}