| Index: net/tools/quic/quic_epoll_connection_helper_test.cc
|
| diff --git a/net/tools/quic/quic_epoll_connection_helper_test.cc b/net/tools/quic/quic_epoll_connection_helper_test.cc
|
| index 36ea8bd2983f790f4c713ffcf5f456ec47bdee1a..abb02d0eef948689c31f1f9d79c09294770df22a 100644
|
| --- a/net/tools/quic/quic_epoll_connection_helper_test.cc
|
| +++ b/net/tools/quic/quic_epoll_connection_helper_test.cc
|
| @@ -53,9 +53,28 @@ TEST_F(QuicEpollConnectionHelperTest, GetRandomGenerator) {
|
| EXPECT_EQ(QuicRandom::GetInstance(), random);
|
| }
|
|
|
| -TEST_F(QuicEpollConnectionHelperTest, CreateAlarm) {
|
| - TestDelegate* delegate = new TestDelegate();
|
| - scoped_ptr<QuicAlarm> alarm(helper_.CreateAlarm(delegate));
|
| +// The boolean parameter denotes whether or not to use an arena.
|
| +class QuicEpollConnectionHelperAlarmTest
|
| + : public QuicEpollConnectionHelperTest,
|
| + public ::testing::WithParamInterface<bool> {
|
| + protected:
|
| + QuicConnectionArena* GetArenaParam() {
|
| + return GetParam() ? &arena_ : nullptr;
|
| + }
|
| +
|
| + private:
|
| + QuicConnectionArena arena_;
|
| +};
|
| +
|
| +INSTANTIATE_TEST_CASE_P(QuicEpollConnectionHelperAlarmTest,
|
| + QuicEpollConnectionHelperAlarmTest,
|
| + ::testing::Bool());
|
| +
|
| +TEST_P(QuicEpollConnectionHelperAlarmTest, CreateAlarm) {
|
| + QuicArenaScopedPtr<TestDelegate> delegate =
|
| + QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
|
| + QuicArenaScopedPtr<QuicAlarm> alarm(
|
| + helper_.CreateAlarm(std::move(delegate), GetArenaParam()));
|
|
|
| const QuicClock* clock = helper_.GetClock();
|
| QuicTime start = clock->Now();
|
| @@ -67,9 +86,12 @@ TEST_F(QuicEpollConnectionHelperTest, CreateAlarm) {
|
| EXPECT_EQ(start.Add(delta), clock->Now());
|
| }
|
|
|
| -TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndCancel) {
|
| - TestDelegate* delegate = new TestDelegate();
|
| - scoped_ptr<QuicAlarm> alarm(helper_.CreateAlarm(delegate));
|
| +TEST_P(QuicEpollConnectionHelperAlarmTest, CreateAlarmAndCancel) {
|
| + QuicArenaScopedPtr<TestDelegate> delegate =
|
| + QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
|
| + TestDelegate* unowned_delegate = delegate.get();
|
| + QuicArenaScopedPtr<QuicAlarm> alarm(
|
| + helper_.CreateAlarm(std::move(delegate), GetArenaParam()));
|
|
|
| const QuicClock* clock = helper_.GetClock();
|
| QuicTime start = clock->Now();
|
| @@ -79,12 +101,15 @@ TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndCancel) {
|
|
|
| epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
|
| EXPECT_EQ(start.Add(delta), clock->Now());
|
| - EXPECT_FALSE(delegate->fired());
|
| + EXPECT_FALSE(unowned_delegate->fired());
|
| }
|
|
|
| -TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndReset) {
|
| - TestDelegate* delegate = new TestDelegate();
|
| - scoped_ptr<QuicAlarm> alarm(helper_.CreateAlarm(delegate));
|
| +TEST_P(QuicEpollConnectionHelperAlarmTest, CreateAlarmAndReset) {
|
| + QuicArenaScopedPtr<TestDelegate> delegate =
|
| + QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
|
| + TestDelegate* unowned_delegate = delegate.get();
|
| + QuicArenaScopedPtr<QuicAlarm> alarm(
|
| + helper_.CreateAlarm(std::move(delegate), GetArenaParam()));
|
|
|
| const QuicClock* clock = helper_.GetClock();
|
| QuicTime start = clock->Now();
|
| @@ -96,17 +121,20 @@ TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndReset) {
|
|
|
| epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
|
| EXPECT_EQ(start.Add(delta), clock->Now());
|
| - EXPECT_FALSE(delegate->fired());
|
| + EXPECT_FALSE(unowned_delegate->fired());
|
|
|
| epoll_server_.AdvanceByExactlyAndCallCallbacks(
|
| new_delta.Subtract(delta).ToMicroseconds());
|
| EXPECT_EQ(start.Add(new_delta), clock->Now());
|
| - EXPECT_TRUE(delegate->fired());
|
| + EXPECT_TRUE(unowned_delegate->fired());
|
| }
|
|
|
| -TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndUpdate) {
|
| - TestDelegate* delegate = new TestDelegate();
|
| - scoped_ptr<QuicAlarm> alarm(helper_.CreateAlarm(delegate));
|
| +TEST_P(QuicEpollConnectionHelperAlarmTest, CreateAlarmAndUpdate) {
|
| + QuicArenaScopedPtr<TestDelegate> delegate =
|
| + QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
|
| + TestDelegate* unowned_delegate = delegate.get();
|
| + QuicArenaScopedPtr<QuicAlarm> alarm(
|
| + helper_.CreateAlarm(std::move(delegate), GetArenaParam()));
|
|
|
| const QuicClock* clock = helper_.GetClock();
|
| QuicTime start = clock->Now();
|
| @@ -118,7 +146,7 @@ TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndUpdate) {
|
|
|
| epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
|
| EXPECT_EQ(start.Add(delta), clock->Now());
|
| - EXPECT_FALSE(delegate->fired());
|
| + EXPECT_FALSE(unowned_delegate->fired());
|
|
|
| // Move the alarm forward 1us and ensure it doesn't move forward.
|
| alarm->Update(clock->Now().Add(new_delta),
|
| @@ -127,7 +155,7 @@ TEST_F(QuicEpollConnectionHelperTest, CreateAlarmAndUpdate) {
|
| epoll_server_.AdvanceByExactlyAndCallCallbacks(
|
| new_delta.Subtract(delta).ToMicroseconds());
|
| EXPECT_EQ(start.Add(new_delta), clock->Now());
|
| - EXPECT_TRUE(delegate->fired());
|
| + EXPECT_TRUE(unowned_delegate->fired());
|
|
|
| // Set the alarm via an update call.
|
| new_delta = QuicTime::Delta::FromMicroseconds(5);
|
|
|