Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Side by Side Diff: components/browser_watcher/crash_reporting_metrics_win_unittest.cc

Issue 1922473003: Scrub the vestigal breakpad crash dump attempts metrics code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Greg's comments. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/browser_watcher/crash_reporting_metrics_win.h"
6
7 #include "base/macros.h"
8 #include "base/strings/string16.h"
9 #include "base/win/registry.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace browser_watcher {
13
14 namespace {
15
16 const base::char16 test_root[] = L"TmpTmp";
17
18 class CrashReportingMetricsTest : public testing::Test {
19 protected:
20 CrashReportingMetricsTest() {}
21
22 void SetUp() override {
23 // Create a temporary key for testing
24 base::win::RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS);
25 key.DeleteKey(test_root);
26 ASSERT_NE(ERROR_SUCCESS, key.Open(HKEY_CURRENT_USER, test_root, KEY_READ));
27 ASSERT_EQ(ERROR_SUCCESS, key.Create(HKEY_CURRENT_USER, test_root,
28 KEY_READ));
29 }
30
31 void TearDown() override {
32 // Clean up the temporary key
33 base::win::RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS);
34 ASSERT_EQ(ERROR_SUCCESS, key.DeleteKey(test_root));
35 }
36
37 base::string16 registry_path() {
38 return base::string16(test_root) + L"\\CrashReportingMetricsTest";
39 };
40
41 private:
42 DISALLOW_COPY_AND_ASSIGN(CrashReportingMetricsTest);
43 };
44
45 } // namespace
46
47 TEST_F(CrashReportingMetricsTest, BasicTest) {
48 CrashReportingMetrics::Values values =
49 CrashReportingMetrics(registry_path()).RetrieveAndResetMetrics();
50 EXPECT_EQ(0, values.crash_dump_attempts);
51 EXPECT_EQ(0, values.successful_crash_dumps);
52 EXPECT_EQ(0, values.failed_crash_dumps);
53 EXPECT_EQ(0, values.dump_without_crash_attempts);
54 EXPECT_EQ(0, values.successful_dumps_without_crash);
55 EXPECT_EQ(0, values.failed_dumps_without_crash);
56
57 CrashReportingMetrics writer(registry_path());
58 writer.RecordCrashDumpAttempt();
59 writer.RecordCrashDumpAttempt();
60 writer.RecordCrashDumpAttempt();
61 writer.RecordDumpWithoutCrashAttempt();
62 writer.RecordDumpWithoutCrashAttempt();
63 writer.RecordDumpWithoutCrashAttempt();
64 writer.RecordDumpWithoutCrashAttempt();
65
66 writer.RecordCrashDumpAttemptResult(true);
67 writer.RecordCrashDumpAttemptResult(false);
68 writer.RecordCrashDumpAttemptResult(false);
69 writer.RecordDumpWithoutCrashAttemptResult(true);
70 writer.RecordDumpWithoutCrashAttemptResult(true);
71 writer.RecordDumpWithoutCrashAttemptResult(true);
72 writer.RecordDumpWithoutCrashAttemptResult(false);
73
74 values = CrashReportingMetrics(registry_path()).RetrieveAndResetMetrics();
75 EXPECT_EQ(3, values.crash_dump_attempts);
76 EXPECT_EQ(1, values.successful_crash_dumps);
77 EXPECT_EQ(2, values.failed_crash_dumps);
78 EXPECT_EQ(4, values.dump_without_crash_attempts);
79 EXPECT_EQ(3, values.successful_dumps_without_crash);
80 EXPECT_EQ(1, values.failed_dumps_without_crash);
81
82 values = CrashReportingMetrics(registry_path()).RetrieveAndResetMetrics();
83 EXPECT_EQ(0, values.crash_dump_attempts);
84 EXPECT_EQ(0, values.successful_crash_dumps);
85 EXPECT_EQ(0, values.failed_crash_dumps);
86 EXPECT_EQ(0, values.dump_without_crash_attempts);
87 EXPECT_EQ(0, values.successful_dumps_without_crash);
88 EXPECT_EQ(0, values.failed_dumps_without_crash);
89
90 writer.RecordCrashDumpAttempt();
91 writer.RecordCrashDumpAttempt();
92 writer.RecordDumpWithoutCrashAttempt();
93 writer.RecordDumpWithoutCrashAttempt();
94 writer.RecordDumpWithoutCrashAttempt();
95
96 writer.RecordCrashDumpAttemptResult(true);
97 writer.RecordCrashDumpAttemptResult(true);
98 writer.RecordDumpWithoutCrashAttemptResult(true);
99 writer.RecordDumpWithoutCrashAttemptResult(false);
100 writer.RecordDumpWithoutCrashAttemptResult(false);
101
102 values = CrashReportingMetrics(registry_path()).RetrieveAndResetMetrics();
103 EXPECT_EQ(2, values.crash_dump_attempts);
104 EXPECT_EQ(2, values.successful_crash_dumps);
105 EXPECT_EQ(0, values.failed_crash_dumps);
106 EXPECT_EQ(3, values.dump_without_crash_attempts);
107 EXPECT_EQ(1, values.successful_dumps_without_crash);
108 EXPECT_EQ(2, values.failed_dumps_without_crash);
109 }
110
111 } // namespace browser_watcher
OLDNEW
« no previous file with comments | « components/browser_watcher/crash_reporting_metrics_win.cc ('k') | components/components_tests.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698