Commit f3f15d41 authored by Alexander Timin's avatar Alexander Timin Committed by Commit Bot

[message_loop] Remove MessageLoopTypedTest.RecursiveDenial3.

It assumes a specific ordering between immediate and delayed tasks that is
not guaranteed by the SequencedTaskRunner API which only states that :

//   - Given two tasks T2 and T1, T2 will start after T1 starts if:
//
//       * T2 is posted after T1; and
//       * T2 has equal or higher delay than T1; and
//       * T2 is non-nestable or T1 is nestable.

This property is already verified by
MessageLoopTypedTest.PostDelayedTask_InPostOrder_3 and recursive post task
ordering is verified by MessageLoopTypedTest.RecursiveDenial1.

R=gab@chromium.org
BUG=891670

Change-Id: Ic340df17dcd3529565564dff3c18c64f48bd1d2d
Reviewed-on: https://chromium-review.googlesource.com/c/1333772Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607612}
parent 4681e0fe
...@@ -937,14 +937,6 @@ TEST_P(MessageLoopTypedTest, RecursiveDenial1) { ...@@ -937,14 +937,6 @@ TEST_P(MessageLoopTypedTest, RecursiveDenial1) {
namespace { namespace {
void RecursiveSlowFunc(TaskList* order,
int cookie,
int depth,
bool is_reentrant) {
RecursiveFunc(order, cookie, depth, is_reentrant);
PlatformThread::Sleep(TimeDelta::FromMilliseconds(10));
}
void OrderedFunc(TaskList* order, int cookie) { void OrderedFunc(TaskList* order, int cookie) {
order->RecordStart(ORDERED, cookie); order->RecordStart(ORDERED, cookie);
order->RecordEnd(ORDERED, cookie); order->RecordEnd(ORDERED, cookie);
...@@ -952,44 +944,6 @@ void OrderedFunc(TaskList* order, int cookie) { ...@@ -952,44 +944,6 @@ void OrderedFunc(TaskList* order, int cookie) {
} // namespace } // namespace
TEST_P(MessageLoopTypedTest, RecursiveDenial3) {
MessageLoop loop(GetParam());
EXPECT_TRUE(MessageLoopCurrent::Get()->NestableTasksAllowed());
TaskList order;
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, BindOnce(&RecursiveSlowFunc, &order, 1, 2, false));
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, BindOnce(&RecursiveSlowFunc, &order, 2, 2, false));
ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, BindOnce(&OrderedFunc, &order, 3),
TimeDelta::FromMilliseconds(5));
ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, BindOnce(&QuitFunc, &order, 4),
TimeDelta::FromMilliseconds(5));
RunLoop().Run();
// FIFO order.
ASSERT_EQ(16U, order.Size());
EXPECT_EQ(order.Get(0), TaskItem(RECURSIVE, 1, true));
EXPECT_EQ(order.Get(1), TaskItem(RECURSIVE, 1, false));
EXPECT_EQ(order.Get(2), TaskItem(RECURSIVE, 2, true));
EXPECT_EQ(order.Get(3), TaskItem(RECURSIVE, 2, false));
EXPECT_EQ(order.Get(4), TaskItem(RECURSIVE, 1, true));
EXPECT_EQ(order.Get(5), TaskItem(RECURSIVE, 1, false));
EXPECT_EQ(order.Get(6), TaskItem(ORDERED, 3, true));
EXPECT_EQ(order.Get(7), TaskItem(ORDERED, 3, false));
EXPECT_EQ(order.Get(8), TaskItem(RECURSIVE, 2, true));
EXPECT_EQ(order.Get(9), TaskItem(RECURSIVE, 2, false));
EXPECT_EQ(order.Get(10), TaskItem(QUITMESSAGELOOP, 4, true));
EXPECT_EQ(order.Get(11), TaskItem(QUITMESSAGELOOP, 4, false));
EXPECT_EQ(order.Get(12), TaskItem(RECURSIVE, 1, true));
EXPECT_EQ(order.Get(13), TaskItem(RECURSIVE, 1, false));
EXPECT_EQ(order.Get(14), TaskItem(RECURSIVE, 2, true));
EXPECT_EQ(order.Get(15), TaskItem(RECURSIVE, 2, false));
}
TEST_P(MessageLoopTypedTest, RecursiveSupport1) { TEST_P(MessageLoopTypedTest, RecursiveSupport1) {
MessageLoop loop(GetParam()); MessageLoop loop(GetParam());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment