Expect late delayed task is deleted.

Bug: None
Change-Id: I38d1c2f97504bf1e627723db7fb91368839a82d0
Reviewed-on: https://webrtc-review.googlesource.com/101401
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24811}
This commit is contained in:
Danil Chapovalov 2018-09-24 20:27:22 +02:00 committed by Commit Bot
parent 0cab4c2785
commit a36631cdb5

View File

@ -175,12 +175,17 @@ TEST(TaskQueueTest, PostMultipleDelayed) {
TEST(TaskQueueTest, PostDelayedAfterDestruct) {
static const char kQueueName[] = "PostDelayedAfterDestruct";
Event event(false, false);
Event run(false, false);
Event deleted(false, false);
{
TaskQueue queue(kQueueName);
queue.PostDelayedTask(Bind(&CheckCurrent, &event, &queue), 100);
queue.PostDelayedTask(
rtc::NewClosure([&run] { run.Set(); }, [&deleted] { deleted.Set(); }),
100);
}
EXPECT_FALSE(event.Wait(200)); // Task should not run.
// Task might outlive the TaskQueue, but still should be deleted.
EXPECT_TRUE(deleted.Wait(200));
EXPECT_FALSE(run.Wait(0)); // and should not run.
}
TEST(TaskQueueTest, PostAndReply) {