| Index: cc/scheduler/begin_frame_source_unittest.cc
|
| diff --git a/cc/scheduler/begin_frame_source_unittest.cc b/cc/scheduler/begin_frame_source_unittest.cc
|
| index 498d10b2b8a9790d8ee299a98806be02fcdee397..0972762c67da84bc46ef0a515c03540410239bc2 100644
|
| --- a/cc/scheduler/begin_frame_source_unittest.cc
|
| +++ b/cc/scheduler/begin_frame_source_unittest.cc
|
| @@ -15,19 +15,18 @@
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| // Macros to help set up expected calls on the MockBeginFrameObserver.
|
| -#define EXPECT_BEGIN_FRAME_DROP(obs, frame_time, deadline, interval) \
|
| - { \
|
| - ::testing::Expectation exp = \
|
| - EXPECT_CALL((obs), \
|
| - OnBeginFrame(CreateBeginFrameArgsForTesting( \
|
| - frame_time, deadline, interval))) \
|
| - .InSequence((obs).sequence); \
|
| +#define EXPECT_BEGIN_FRAME_DROP(obs, frame_time, deadline, interval) \
|
| + { \
|
| + ::testing::Expectation exp = \
|
| + EXPECT_CALL((obs), OnBeginFrame(CreateBeginFrameArgsForTesting( \
|
| + BEGINFRAME_FROM_HERE, frame_time, deadline, \
|
| + interval))).InSequence((obs).sequence); \
|
| }
|
|
|
| #define EXPECT_BEGIN_FRAME_USED(obs, frame_time, deadline, interval) \
|
| { \
|
| - BeginFrameArgs args = \
|
| - CreateBeginFrameArgsForTesting(frame_time, deadline, interval); \
|
| + BeginFrameArgs args = CreateBeginFrameArgsForTesting( \
|
| + BEGINFRAME_FROM_HERE, frame_time, deadline, interval); \
|
| ::testing::Expectation exp = \
|
| EXPECT_CALL((obs), OnBeginFrame(args)).InSequence((obs).sequence); \
|
| EXPECT_CALL((obs), LastUsedBeginFrameArgs()) \
|
| @@ -38,15 +37,15 @@
|
|
|
| // Macros to send BeginFrameArgs on a FakeBeginFrameSink (and verify resulting
|
| // observer behaviour).
|
| -#define SEND_BEGIN_FRAME(args_equal_to, source, frame_time, deadline, \
|
| - interval) \
|
| - { \
|
| - BeginFrameArgs old_args = (source).TestLastUsedBeginFrameArgs(); \
|
| - BeginFrameArgs new_args = \
|
| - CreateBeginFrameArgsForTesting(frame_time, deadline, interval); \
|
| - ASSERT_FALSE(old_args == new_args); \
|
| - (source).TestOnBeginFrame(new_args); \
|
| - EXPECT_EQ(args_equal_to, (source).TestLastUsedBeginFrameArgs()); \
|
| +#define SEND_BEGIN_FRAME(args_equal_to, source, frame_time, deadline, \
|
| + interval) \
|
| + { \
|
| + BeginFrameArgs old_args = (source).TestLastUsedBeginFrameArgs(); \
|
| + BeginFrameArgs new_args = CreateBeginFrameArgsForTesting( \
|
| + BEGINFRAME_FROM_HERE, frame_time, deadline, interval); \
|
| + ASSERT_FALSE(old_args == new_args); \
|
| + (source).TestOnBeginFrame(new_args); \
|
| + EXPECT_EQ(args_equal_to, (source).TestLastUsedBeginFrameArgs()); \
|
| }
|
|
|
| // When dropping LastUsedBeginFrameArgs **shouldn't** change.
|
| @@ -99,19 +98,25 @@ TEST(MockBeginFrameObserverTest, ExpectOnBeginFrame) {
|
| MockBeginFrameObserver::kDefaultBeginFrameArgs);
|
|
|
| obs.OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| - 100, 200, 300)); // One call to LastUsedBeginFrameArgs
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(100, 200, 300));
|
| + BEGINFRAME_FROM_HERE, 100, 200,
|
| + 300)); // One call to LastUsedBeginFrameArgs
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300));
|
|
|
| obs.OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| - 400, 600, 300)); // Multiple calls to LastUsedBeginFrameArgs
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(400, 600, 300));
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(400, 600, 300));
|
| + BEGINFRAME_FROM_HERE, 400, 600,
|
| + 300)); // Multiple calls to LastUsedBeginFrameArgs
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 400, 600, 300));
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 400, 600, 300));
|
|
|
| obs.OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| - 700, 900, 300)); // No calls to LastUsedBeginFrameArgs
|
| + BEGINFRAME_FROM_HERE, 700, 900,
|
| + 300)); // No calls to LastUsedBeginFrameArgs
|
| }
|
|
|
| TEST(MockBeginFrameObserverTest, ExpectOnBeginFrameStatus) {
|
| @@ -125,28 +130,45 @@ TEST(MockBeginFrameObserverTest, ExpectOnBeginFrameStatus) {
|
| MockBeginFrameObserver::kDefaultBeginFrameArgs);
|
|
|
| // Used
|
| - obs.OnBeginFrame(CreateBeginFrameArgsForTesting(100, 200, 300));
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(100, 200, 300));
|
| + obs.OnBeginFrame(
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300));
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300));
|
|
|
| // Dropped
|
| - obs.OnBeginFrame(CreateBeginFrameArgsForTesting(400, 600, 300));
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(100, 200, 300));
|
| + obs.OnBeginFrame(
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 400, 600, 300));
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300));
|
|
|
| // Dropped
|
| - obs.OnBeginFrame(CreateBeginFrameArgsForTesting(450, 650, 300));
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(100, 200, 300));
|
| + obs.OnBeginFrame(
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 450, 650, 300));
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300));
|
|
|
| // Used
|
| - obs.OnBeginFrame(CreateBeginFrameArgsForTesting(700, 900, 300));
|
| - EXPECT_EQ(obs.LastUsedBeginFrameArgs(),
|
| - CreateBeginFrameArgsForTesting(700, 900, 300));
|
| + obs.OnBeginFrame(
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 700, 900, 300));
|
| + EXPECT_EQ(
|
| + obs.LastUsedBeginFrameArgs(),
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 700, 900, 300));
|
| }
|
|
|
| const BeginFrameArgs MockBeginFrameObserver::kDefaultBeginFrameArgs =
|
| - CreateBeginFrameArgsForTesting(-1, -1, -1);
|
| + CreateBeginFrameArgsForTesting(
|
| +#ifdef NDEBUG
|
| + nullptr,
|
| +#else
|
| + FROM_HERE_WITH_EXPLICIT_FUNCTION(
|
| + "MockBeginFrameObserver::kDefaultBeginFrameArgs"),
|
| +#endif
|
| + -1,
|
| + -1,
|
| + -1);
|
|
|
| // BeginFrameObserverMixIn testing ---------------------------------------
|
| class MockMinimalBeginFrameObserverMixIn : public BeginFrameObserverMixIn {
|
| @@ -168,25 +190,31 @@ TEST(BeginFrameObserverMixInTest, OnBeginFrameImplementation) {
|
| EXPECT_DEATH({ obs.OnBeginFrame(BeginFrameArgs()); }, "");
|
| #endif
|
|
|
| - BeginFrameArgs args1 = CreateBeginFrameArgsForTesting(100, 200, 300);
|
| + BeginFrameArgs args1 =
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 100, 200, 300);
|
| EXPECT_CALL(obs, OnBeginFrameMixInDelegate(args1)).WillOnce(Return(true));
|
| obs.OnBeginFrame(args1);
|
| EXPECT_EQ(args1, obs.LastUsedBeginFrameArgs());
|
| EXPECT_EQ(0, obs.dropped_begin_frame_args());
|
|
|
| #ifndef NDEBUG
|
| - EXPECT_DEATH(
|
| - { obs.OnBeginFrame(CreateBeginFrameArgsForTesting(50, 200, 300)); }, "");
|
| + EXPECT_DEATH({
|
| + obs.OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| + BEGINFRAME_FROM_HERE, 50, 200, 300));
|
| + },
|
| + "");
|
| #endif
|
|
|
| // Returning false shouldn't update the LastUsedBeginFrameArgs value.
|
| - BeginFrameArgs args2 = CreateBeginFrameArgsForTesting(200, 300, 400);
|
| + BeginFrameArgs args2 =
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 200, 300, 400);
|
| EXPECT_CALL(obs, OnBeginFrameMixInDelegate(args2)).WillOnce(Return(false));
|
| obs.OnBeginFrame(args2);
|
| EXPECT_EQ(args1, obs.LastUsedBeginFrameArgs());
|
| EXPECT_EQ(1, obs.dropped_begin_frame_args());
|
|
|
| - BeginFrameArgs args3 = CreateBeginFrameArgsForTesting(150, 300, 400);
|
| + BeginFrameArgs args3 =
|
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, 150, 300, 400);
|
| EXPECT_CALL(obs, OnBeginFrameMixInDelegate(args3)).WillOnce(Return(true));
|
| obs.OnBeginFrame(args3);
|
| EXPECT_EQ(args3, obs.LastUsedBeginFrameArgs());
|
| @@ -495,7 +523,8 @@ TEST_F(SyntheticBeginFrameSourceTest,
|
| SetNeedsBeginFramesCallsOnBeginFrameWithMissedTick) {
|
| now_src_->SetNowMicroseconds(10010);
|
| EXPECT_CALL((*obs_), OnBeginFrame(CreateBeginFrameArgsForTesting(
|
| - 10000, 20000, 10000, BeginFrameArgs::MISSED)));
|
| + BEGINFRAME_FROM_HERE, 10000, 20000, 10000,
|
| + BeginFrameArgs::MISSED)));
|
| source_->SetNeedsBeginFrames(true); // Should cause the last tick to be sent
|
| // No tasks should need to be run for this to occur.
|
| }
|
|
|