| 2468 | |
| 2469 | AwaitProcessExitResult result; |
| 2470 | AwaitTask task = processExitOnce(await, process, result); |
| 2471 | SC_TEST_EXPECT(await.spawn(task)); |
| 2472 | SC_TEST_EXPECT(task.isActive()); |
| 2473 | SC_TEST_EXPECT(task.cancel(await)); |
| 2474 | SC_TEST_EXPECT(await.run()); |
| 2475 | SC_TEST_EXPECT(task.isCompleted()); |
| 2476 | SC_TEST_EXPECT(AwaitIsCancelled(task.result())); |
| 2477 | task = AwaitTask(); |
| 2478 | SC_TEST_EXPECT(await.runNoWait()); |
| 2479 | SC_TEST_EXPECT(process.waitForExitSync()); |
| 2480 | } |
| 2481 | SC_TEST_EXPECT(async.close()); |
| 2482 | } |
| 2483 | { |
| 2484 | AsyncEventLoop async; |
| 2485 | SC_TEST_EXPECT(async.create()); |
| 2486 | SC_AWAIT_TEST_EVENT_LOOP(await, async); |
| 2487 | |
| 2488 | for (size_t idx = 0; idx < 8; ++idx) |
| 2489 | { |
| 2490 | ThreadPool threadPool; |
| 2491 | SC_TEST_EXPECT(threadPool.create(1)); |
| 2492 | |
| 2493 | ThreadPoolTask blocker; |
| 2494 | Atomic<bool> blockerEntered = false; |
| 2495 | Atomic<bool> releaseBlocker = false; |
| 2496 | startThreadPoolBlocker(threadPool, blocker, blockerEntered, releaseBlocker); |
| 2497 | |
| 2498 | Atomic<int> workCount = 0; |
| 2499 | AwaitTask task = loopWorkCancellable(await, threadPool, workCount); |
| 2500 | SC_TEST_EXPECT(await.spawn(task)); |
| 2501 | SC_TEST_EXPECT(task.isActive()); |
| 2502 |
nothing calls this directly
no test coverage detected