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. |
} |