// 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
|