| Index: base/debug/activity_tracker_unittest.cc
|
| diff --git a/base/debug/activity_tracker_unittest.cc b/base/debug/activity_tracker_unittest.cc
|
| index ac81f75b5addbf1e4ed421f2b4b019f257e71833..30a7878d86603b8d7c3112c915209178d8e0ed48 100644
|
| --- a/base/debug/activity_tracker_unittest.cc
|
| +++ b/base/debug/activity_tracker_unittest.cc
|
| @@ -239,6 +239,38 @@ TEST_F(ActivityTrackerTest, ScopedTaskTest) {
|
| ASSERT_EQ(2U, GetGlobalUserDataMemoryCacheUsed());
|
| }
|
|
|
| +TEST_F(ActivityTrackerTest, ExceptionTest) {
|
| + GlobalActivityTracker::CreateWithLocalMemory(kMemorySize, 0, "", 3);
|
| + GlobalActivityTracker* global = GlobalActivityTracker::Get();
|
| +
|
| + ThreadActivityTracker* tracker =
|
| + GlobalActivityTracker::Get()->GetOrCreateTrackerForCurrentThread();
|
| + ThreadActivityTracker::Snapshot snapshot;
|
| + ASSERT_EQ(0U, GetGlobalUserDataMemoryCacheUsed());
|
| +
|
| + ASSERT_TRUE(tracker->CreateSnapshot(&snapshot));
|
| + ASSERT_EQ(0U, snapshot.last_exception.activity_type);
|
| +
|
| + char origin;
|
| + ActivityUserData& data = global->RecordException(&origin);
|
| + data.SetString("foo", "bar");
|
| +
|
| + ASSERT_TRUE(tracker->CreateSnapshot(&snapshot));
|
| + EXPECT_EQ(Activity::ACT_EXCEPTION, snapshot.last_exception.activity_type);
|
| + EXPECT_EQ(reinterpret_cast<uintptr_t>(&origin),
|
| + snapshot.last_exception.origin_address);
|
| +
|
| + void* memory = global->allocator()->GetAsArray<char>(
|
| + snapshot.last_exception.user_data_ref,
|
| + GlobalActivityTracker::kTypeIdUserDataRecord,
|
| + PersistentMemoryAllocator::kSizeAny);
|
| + ASSERT_TRUE(memory);
|
| + ActivityUserData saved_data(
|
| + memory,
|
| + global->allocator()->GetAllocSize(snapshot.last_exception.user_data_ref));
|
| + EXPECT_EQ(data.id(), saved_data.id());
|
| +}
|
| +
|
| TEST_F(ActivityTrackerTest, CreateWithFileTest) {
|
| const char temp_name[] = "CreateWithFileTest";
|
| ScopedTempDir temp_dir;
|
|
|