| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "perf_data_utils.h" |
| |
| #include "compat/string.h" |
| #include "compat/test.h" |
| |
| namespace quipper { |
| |
| TEST(PerfDataUtilsTest, GetUint64AlignedStringLength) { |
| EXPECT_EQ(8, GetUint64AlignedStringLength("012345")); |
| EXPECT_EQ(8, GetUint64AlignedStringLength("0123456")); |
| EXPECT_EQ(16, GetUint64AlignedStringLength("01234567")); // Room for '\0' |
| EXPECT_EQ(16, GetUint64AlignedStringLength("012345678")); |
| EXPECT_EQ(16, GetUint64AlignedStringLength("0123456789abcde")); |
| EXPECT_EQ(24, GetUint64AlignedStringLength("0123456789abcdef")); |
| } |
| |
| TEST(PerfDataUtilsTest, PerfizeBuildID) { |
| string build_id_string = "f"; |
| PerfizeBuildIDString(&build_id_string); |
| EXPECT_EQ("f000000000000000000000000000000000000000", build_id_string); |
| PerfizeBuildIDString(&build_id_string); |
| EXPECT_EQ("f000000000000000000000000000000000000000", build_id_string); |
| |
| build_id_string = "01234567890123456789012345678901234567890"; |
| PerfizeBuildIDString(&build_id_string); |
| EXPECT_EQ("0123456789012345678901234567890123456789", build_id_string); |
| PerfizeBuildIDString(&build_id_string); |
| EXPECT_EQ("0123456789012345678901234567890123456789", build_id_string); |
| } |
| |
| TEST(PerfDataUtilsTest, UnperfizeBuildID) { |
| string build_id_string = "f000000000000000000000000000000000000000"; |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("f0000000", build_id_string); |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("f0000000", build_id_string); |
| |
| build_id_string = "0123456789012345678901234567890123456789"; |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("0123456789012345678901234567890123456789", build_id_string); |
| |
| build_id_string = "0000000000000000000000000000001000000000"; |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("00000000000000000000000000000010", build_id_string); |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("00000000000000000000000000000010", build_id_string); |
| |
| build_id_string = "0000000000000000000000000000000000000000"; // 40 zeroes |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("", build_id_string); |
| |
| build_id_string = "00000000000000000000000000000000"; // 32 zeroes |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("", build_id_string); |
| |
| build_id_string = "00000000"; // 8 zeroes |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("", build_id_string); |
| |
| build_id_string = "0000000"; // 7 zeroes |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("0000000", build_id_string); |
| |
| build_id_string = ""; |
| TrimZeroesFromBuildIDString(&build_id_string); |
| EXPECT_EQ("", build_id_string); |
| } |
| |
| } // namespace quipper |