Chromium Code Reviews| Index: chrome/browser/metrics/metrics_log_unittest.cc |
| diff --git a/chrome/browser/metrics/metrics_log_unittest.cc b/chrome/browser/metrics/metrics_log_unittest.cc |
| index edea42bf40762ec6d2b5a9662367e607de5c281a..b4b13e0fe44186e88d53dbb34e5eca89694d0770 100644 |
| --- a/chrome/browser/metrics/metrics_log_unittest.cc |
| +++ b/chrome/browser/metrics/metrics_log_unittest.cc |
| @@ -18,14 +18,10 @@ |
| using base::TimeDelta; |
| namespace { |
| - class MetricsLogTest : public testing::Test { |
| - }; |
| -}; |
| - |
| // Since buildtime is highly variable, this function will scan an output log and |
| // replace it with a consistent number. |
| -static void NormalizeBuildtime(std::string* xml_encoded) { |
| +void NormalizeBuildtime(std::string* xml_encoded) { |
| std::string prefix = "buildtime=\""; |
| const char postfix = '\"'; |
| size_t offset = xml_encoded->find(prefix); |
| @@ -43,54 +39,6 @@ static void NormalizeBuildtime(std::string* xml_encoded) { |
| xml_encoded->replace(offset, postfix_position - offset, "123246"); |
| } |
| -TEST(MetricsLogTest, EmptyRecord) { |
| - std::string expected_output = base::StringPrintf( |
| - "<log clientid=\"bogus client ID\" buildtime=\"123456789\" " |
| - "appversion=\"%s\"/>", MetricsLog::GetVersionString().c_str()); |
| - |
| - MetricsLog log("bogus client ID", 0); |
| - log.CloseLog(); |
| - |
| - int size = log.GetEncodedLogSize(); |
| - ASSERT_GT(size, 0); |
| - |
| - std::string encoded; |
| - // Leave room for the NUL terminator. |
| - ASSERT_TRUE(log.GetEncodedLog(WriteInto(&encoded, size + 1), size)); |
| - TrimWhitespaceASCII(encoded, TRIM_ALL, &encoded); |
| - NormalizeBuildtime(&encoded); |
| - NormalizeBuildtime(&expected_output); |
| - |
| - ASSERT_EQ(expected_output, encoded); |
| -} |
| - |
| -#if defined(OS_CHROMEOS) |
| -TEST(MetricsLogTest, ChromeOSEmptyRecord) { |
| - std::string expected_output = base::StringPrintf( |
| - "<log clientid=\"bogus client ID\" buildtime=\"123456789\" " |
| - "appversion=\"%s\" hardwareclass=\"sample-class\"/>", |
| - MetricsLog::GetVersionString().c_str()); |
| - |
| - MetricsLog log("bogus client ID", 0); |
| - log.set_hardware_class("sample-class"); |
| - log.CloseLog(); |
| - |
| - int size = log.GetEncodedLogSize(); |
| - ASSERT_GT(size, 0); |
| - |
| - std::string encoded; |
| - // Leave room for the NUL terminator. |
| - ASSERT_TRUE(log.GetEncodedLog(WriteInto(&encoded, size + 1), size)); |
| - TrimWhitespaceASCII(encoded, TRIM_ALL, &encoded); |
| - NormalizeBuildtime(&encoded); |
| - NormalizeBuildtime(&expected_output); |
| - |
| - ASSERT_EQ(expected_output, encoded); |
| -} |
| -#endif // OS_CHROMEOS |
| - |
| -namespace { |
| - |
| class NoTimeMetricsLog : public MetricsLog { |
| public: |
| NoTimeMetricsLog(std::string client_id, int session_id): |
| @@ -103,103 +51,12 @@ class NoTimeMetricsLog : public MetricsLog { |
| } |
| }; |
| -}; // namespace |
| - |
| -TEST(MetricsLogTest, WindowEvent) { |
| - std::string expected_output = base::StringPrintf( |
| - "<log clientid=\"bogus client ID\" buildtime=\"123456789\" " |
| - "appversion=\"%s\">\n" |
| - " <window action=\"create\" windowid=\"0\" session=\"0\" time=\"\"/>\n" |
| - " <window action=\"open\" windowid=\"1\" parent=\"0\" " |
| - "session=\"0\" time=\"\"/>\n" |
| - " <window action=\"close\" windowid=\"1\" parent=\"0\" " |
| - "session=\"0\" time=\"\"/>\n" |
| - " <window action=\"destroy\" windowid=\"0\" session=\"0\" time=\"\"/>\n" |
| - "</log>", MetricsLog::GetVersionString().c_str()); |
| - |
| - NoTimeMetricsLog log("bogus client ID", 0); |
| - log.RecordWindowEvent(MetricsLog::WINDOW_CREATE, 0, -1); |
| - log.RecordWindowEvent(MetricsLog::WINDOW_OPEN, 1, 0); |
| - log.RecordWindowEvent(MetricsLog::WINDOW_CLOSE, 1, 0); |
| - log.RecordWindowEvent(MetricsLog::WINDOW_DESTROY, 0, -1); |
| - log.CloseLog(); |
| - |
| - ASSERT_EQ(4, log.num_events()); |
| +} // namespace |
| - int size = log.GetEncodedLogSize(); |
| - ASSERT_GT(size, 0); |
| - |
| - std::string encoded; |
| - // Leave room for the NUL terminator. |
| - ASSERT_TRUE(log.GetEncodedLog(WriteInto(&encoded, size + 1), size)); |
| - TrimWhitespaceASCII(encoded, TRIM_ALL, &encoded); |
| - NormalizeBuildtime(&encoded); |
| - NormalizeBuildtime(&expected_output); |
| - |
| - ASSERT_EQ(expected_output, encoded); |
| -} |
| - |
| -TEST(MetricsLogTest, LoadEvent) { |
| - std::string expected_output = base::StringPrintf( |
| - "<log clientid=\"bogus client ID\" buildtime=\"123456789\" " |
| - "appversion=\"%s\">\n" |
| - " <document action=\"load\" docid=\"1\" window=\"3\" loadtime=\"7219\" " |
| - "origin=\"link\" session=\"0\" time=\"\"/>\n" |
| - "</log>", MetricsLog::GetVersionString().c_str()); |
| - |
| - NoTimeMetricsLog log("bogus client ID", 0); |
| - log.RecordLoadEvent(3, GURL("http://google.com"), |
| - content::PAGE_TRANSITION_LINK, 1, |
| - TimeDelta::FromMilliseconds(7219)); |
| - |
| - log.CloseLog(); |
| - |
| - ASSERT_EQ(1, log.num_events()); |
| - |
| - int size = log.GetEncodedLogSize(); |
| - ASSERT_GT(size, 0); |
| - |
| - std::string encoded; |
| - // Leave room for the NUL terminator. |
| - ASSERT_TRUE(log.GetEncodedLog(WriteInto(&encoded, size + 1), size)); |
| - TrimWhitespaceASCII(encoded, TRIM_ALL, &encoded); |
| - NormalizeBuildtime(&encoded); |
| - NormalizeBuildtime(&expected_output); |
| - |
| - ASSERT_EQ(expected_output, encoded); |
| -} |
| +class MetricsLogTest : public testing::Test { |
|
jar (doing other things)
2012/02/23 01:59:18
class definition should remain in the anonymous na
|
| +}; |
| #if defined(OS_CHROMEOS) |
| -TEST(MetricsLogTest, ChromeOSLoadEvent) { |
| - std::string expected_output = base::StringPrintf( |
| - "<log clientid=\"bogus client ID\" buildtime=\"123456789\" " |
| - "appversion=\"%s\" hardwareclass=\"sample-class\">\n" |
| - " <document action=\"load\" docid=\"1\" window=\"3\" loadtime=\"7219\" " |
| - "origin=\"link\" session=\"0\" time=\"\"/>\n" |
| - "</log>", MetricsLog::GetVersionString().c_str()); |
| - |
| - NoTimeMetricsLog log("bogus client ID", 0); |
| - log.RecordLoadEvent(3, GURL("http://google.com"), |
| - content::PAGE_TRANSITION_LINK, 1, |
| - TimeDelta::FromMilliseconds(7219)); |
| - log.set_hardware_class("sample-class"); |
| - log.CloseLog(); |
| - |
| - ASSERT_EQ(1, log.num_events()); |
| - |
| - int size = log.GetEncodedLogSize(); |
| - ASSERT_GT(size, 0); |
| - |
| - std::string encoded; |
| - // Leave room for the NUL terminator. |
| - ASSERT_TRUE(log.GetEncodedLog(WriteInto(&encoded, size + 1), size)); |
| - TrimWhitespaceASCII(encoded, TRIM_ALL, &encoded); |
| - NormalizeBuildtime(&encoded); |
| - NormalizeBuildtime(&expected_output); |
| - |
| - ASSERT_EQ(expected_output, encoded); |
| -} |
| - |
| TEST(MetricsLogTest, ChromeOSStabilityData) { |
| NoTimeMetricsLog log("bogus client ID", 0); |
| TestingPrefService prefs; |
| @@ -218,7 +75,7 @@ TEST(MetricsLogTest, ChromeOSStabilityData) { |
| log.WriteStabilityElement(&prefs); |
| log.CloseLog(); |
| - int size = log.GetEncodedLogSize(); |
| + int size = log.GetEncodedLogSizeXml(); |
| ASSERT_GT(size, 0); |
| EXPECT_EQ(0, prefs.GetInteger(prefs::kStabilityChildProcessCrashCount)); |
| @@ -228,7 +85,7 @@ TEST(MetricsLogTest, ChromeOSStabilityData) { |
| std::string encoded; |
| // Leave room for the NUL terminator. |
| - bool encoding_result = log.GetEncodedLog( |
| + bool encoding_result = log.GetEncodedLogXml( |
| WriteInto(&encoded, size + 1), size); |
| ASSERT_TRUE(encoding_result); |
| @@ -244,31 +101,4 @@ TEST(MetricsLogTest, ChromeOSStabilityData) { |
| EXPECT_EQ(std::string::npos, |
| encoded.find(" systemuncleanshutdowns=")); |
| } |
| - |
| #endif // OS_CHROMEOS |
| - |
| -// Make sure our ID hashes are the same as what we see on the server side. |
| -TEST(MetricsLogTest, CreateHash) { |
| - static const struct { |
| - std::string input; |
| - std::string output; |
| - } cases[] = { |
| - {"Back", "0x0557fa923dcee4d0"}, |
| - {"Forward", "0x67d2f6740a8eaebf"}, |
| - {"NewTab", "0x290eb683f96572f1"}, |
| - }; |
| - |
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { |
| - std::string hash_string = MetricsLog::CreateHash(cases[i].input); |
| - |
| - // Convert to hex string |
| - // We're only checking the first 8 bytes, because that's what |
| - // the metrics server uses. |
| - std::string hash_hex = "0x"; |
| - for (size_t j = 0; j < 8; j++) { |
| - base::StringAppendF(&hash_hex, "%02x", |
| - static_cast<uint8>(hash_string.data()[j])); |
| - } |
| - EXPECT_EQ(cases[i].output, hash_hex); |
| - } |
| -}; |