| Index: base/debug/activity_tracker_unittest.cc
|
| diff --git a/base/debug/activity_tracker_unittest.cc b/base/debug/activity_tracker_unittest.cc
|
| index 0d98c0536ad3c34af3af6c39fcf9cb3538929ab4..483bb445f8ac26ff0cb5aec9b057d388d6cd8213 100644
|
| --- a/base/debug/activity_tracker_unittest.cc
|
| +++ b/base/debug/activity_tracker_unittest.cc
|
| @@ -90,22 +90,22 @@ class ActivityTrackerTest : public testing::Test {
|
| GlobalActivityTracker::ProcessPhase phase,
|
| std::string&& command,
|
| ActivityUserData::Snapshot&& data) {
|
| - exit_id = id;
|
| - exit_stamp = stamp;
|
| - exit_code = code;
|
| - exit_phase = phase;
|
| - exit_command = std::move(command);
|
| - exit_data = std::move(data);
|
| + exit_id_ = id;
|
| + exit_stamp_ = stamp;
|
| + exit_code_ = code;
|
| + exit_phase_ = phase;
|
| + exit_command_ = std::move(command);
|
| + exit_data_ = std::move(data);
|
| }
|
|
|
| static void DoNothing() {}
|
|
|
| - int64_t exit_id = 0;
|
| - int64_t exit_stamp;
|
| - int exit_code;
|
| - GlobalActivityTracker::ProcessPhase exit_phase;
|
| - std::string exit_command;
|
| - ActivityUserData::Snapshot exit_data;
|
| + int64_t exit_id_ = 0;
|
| + int64_t exit_stamp_;
|
| + int exit_code_;
|
| + GlobalActivityTracker::ProcessPhase exit_phase_;
|
| + std::string exit_command_;
|
| + ActivityUserData::Snapshot exit_data_;
|
| };
|
|
|
| TEST_F(ActivityTrackerTest, UserDataTest) {
|
| @@ -394,15 +394,7 @@ TEST_F(ActivityTrackerTest, ThreadDeathTest) {
|
| EXPECT_EQ(starting_inactive + 1, GetGlobalInactiveTrackerCount());
|
| }
|
|
|
| -// This test fails roughly 10% of runs on Android tablets.
|
| -// See http://crbug.com/723060 for details.
|
| -#if defined(OS_ANDROID)
|
| -#define MAYBE_ProcessDeathTest DISABLED_ProcessDeathTest
|
| -#else
|
| -#define MAYBE_ProcessDeathTest ProcessDeathTest
|
| -#endif
|
| -
|
| -TEST_F(ActivityTrackerTest, MAYBE_ProcessDeathTest) {
|
| +TEST_F(ActivityTrackerTest, ProcessDeathTest) {
|
| // This doesn't actually create and destroy a process. Instead, it uses for-
|
| // testing interfaces to simulate data created by other processes.
|
| const ProcessId other_process_id = GetCurrentProcId() + 1;
|
| @@ -446,7 +438,9 @@ TEST_F(ActivityTrackerTest, MAYBE_ProcessDeathTest) {
|
| std::unique_ptr<char[]> tracker_copy(new char[tracker_size]);
|
| memcpy(tracker_copy.get(), thread->GetBaseAddress(), tracker_size);
|
|
|
| - // Change the objects to appear to be owned by another process.
|
| + // Change the objects to appear to be owned by another process. Use a "past"
|
| + // time so that exit-time is always later than create-time.
|
| + const int64_t past_stamp = Time::Now().ToInternalValue() - 1;
|
| int64_t owning_id;
|
| int64_t stamp;
|
| ASSERT_TRUE(ActivityUserData::GetOwningProcessId(
|
| @@ -458,9 +452,10 @@ TEST_F(ActivityTrackerTest, MAYBE_ProcessDeathTest) {
|
| ASSERT_TRUE(ActivityUserData::GetOwningProcessId(user_data.GetBaseAddress(),
|
| &owning_id, &stamp));
|
| EXPECT_NE(other_process_id, owning_id);
|
| - global->process_data().SetOwningProcessIdForTesting(other_process_id, stamp);
|
| - thread->SetOwningProcessIdForTesting(other_process_id, stamp);
|
| - user_data.SetOwningProcessIdForTesting(other_process_id, stamp);
|
| + global->process_data().SetOwningProcessIdForTesting(other_process_id,
|
| + past_stamp);
|
| + thread->SetOwningProcessIdForTesting(other_process_id, past_stamp);
|
| + user_data.SetOwningProcessIdForTesting(other_process_id, past_stamp);
|
| ASSERT_TRUE(ActivityUserData::GetOwningProcessId(
|
| global->process_data().GetBaseAddress(), &owning_id, &stamp));
|
| EXPECT_EQ(other_process_id, owning_id);
|
| @@ -472,7 +467,7 @@ TEST_F(ActivityTrackerTest, MAYBE_ProcessDeathTest) {
|
| EXPECT_EQ(other_process_id, owning_id);
|
|
|
| // Check that process exit will perform callback and free the allocations.
|
| - ASSERT_EQ(0, exit_id);
|
| + ASSERT_EQ(0, exit_id_);
|
| ASSERT_EQ(GlobalActivityTracker::kTypeIdProcessDataRecord,
|
| global->allocator()->GetType(proc_data_ref));
|
| ASSERT_EQ(GlobalActivityTracker::kTypeIdActivityTracker,
|
| @@ -480,8 +475,8 @@ TEST_F(ActivityTrackerTest, MAYBE_ProcessDeathTest) {
|
| ASSERT_EQ(GlobalActivityTracker::kTypeIdUserDataRecord,
|
| global->allocator()->GetType(user_data_ref));
|
| global->RecordProcessExit(other_process_id, 0);
|
| - EXPECT_EQ(other_process_id, exit_id);
|
| - EXPECT_EQ("foo --bar", exit_command);
|
| + EXPECT_EQ(other_process_id, exit_id_);
|
| + EXPECT_EQ("foo --bar", exit_command_);
|
| EXPECT_EQ(GlobalActivityTracker::kTypeIdProcessDataRecordFree,
|
| global->allocator()->GetType(proc_data_ref));
|
| EXPECT_EQ(GlobalActivityTracker::kTypeIdActivityTrackerFree,
|
|
|