From 7fadfae122dce68dc17948874afdf73804b01e41 Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Tue, 2 Nov 2021 12:30:17 -0700 Subject: [PATCH 1/2] Fix windows flake --- shell/platform/windows/task_runner_unittests.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/shell/platform/windows/task_runner_unittests.cc b/shell/platform/windows/task_runner_unittests.cc index 713474d23162b..cbce58dae39f2 100644 --- a/shell/platform/windows/task_runner_unittests.cc +++ b/shell/platform/windows/task_runner_unittests.cc @@ -67,15 +67,16 @@ TEST(TaskRunnerTest, MaybeExecuteTaskOnlyExpired) { executed_task.insert(expired_task->task); }); + const uint64_t time_delta = 1000000000; // 1 second in nanoseconds. uint64_t time_now = MockGetCurrentTime(); uint64_t task_expired_before_now = 1; - uint64_t time_before_now = time_now - 10000; + uint64_t time_before_now = time_now - time_delta; runner.PostFlutterTask(FlutterTask{nullptr, task_expired_before_now}, time_before_now); uint64_t task_expired_after_now = 2; - uint64_t time_after_now = time_now + 10000; + uint64_t time_after_now = time_now + time_delta; runner.PostFlutterTask(FlutterTask{nullptr, task_expired_after_now}, time_after_now); From d4ee67f5c7f6a67d40c4ee1af176b1722f734a64 Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Tue, 2 Nov 2021 13:12:38 -0700 Subject: [PATCH 2/2] Make the timing deterministic --- shell/platform/windows/task_runner_unittests.cc | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/shell/platform/windows/task_runner_unittests.cc b/shell/platform/windows/task_runner_unittests.cc index cbce58dae39f2..8bf0b8abb1b09 100644 --- a/shell/platform/windows/task_runner_unittests.cc +++ b/shell/platform/windows/task_runner_unittests.cc @@ -2,10 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include - -#include "flutter/fml/time/time_point.h" - #include "flutter/shell/platform/windows/task_runner.h" #include "gtest/gtest.h" @@ -32,8 +28,7 @@ class MockTaskRunner : public TaskRunner { }; uint64_t MockGetCurrentTime() { - return static_cast( - fml::TimePoint::Now().ToEpochDelta().ToNanoseconds()); + return 10000; } } // namespace @@ -67,16 +62,13 @@ TEST(TaskRunnerTest, MaybeExecuteTaskOnlyExpired) { executed_task.insert(expired_task->task); }); - const uint64_t time_delta = 1000000000; // 1 second in nanoseconds. - uint64_t time_now = MockGetCurrentTime(); - uint64_t task_expired_before_now = 1; - uint64_t time_before_now = time_now - time_delta; + uint64_t time_before_now = 0; runner.PostFlutterTask(FlutterTask{nullptr, task_expired_before_now}, time_before_now); uint64_t task_expired_after_now = 2; - uint64_t time_after_now = time_now + time_delta; + uint64_t time_after_now = MockGetCurrentTime() * 2; runner.PostFlutterTask(FlutterTask{nullptr, task_expired_after_now}, time_after_now);