1 Star 1 Fork 0

Rong Tao/autofdo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
profile_symbol_list_test.cc 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
Wei Mi 提交于 2020-11-30 14:04 . More files synced up.
#include "profile_symbol_list.h"
#include <memory>
#include "gmock/gmock.h"
#include "third_party/abseil/absl/memory/memory.h"
#define FLAGS_test_tmpdir std::string(testing::UnitTest::GetInstance()->original_working_dir())
#define FLAGS_test_srcdir std::string(testing::UnitTest::GetInstance()->original_working_dir())
namespace devtools_crosstool_autofdo {
#define FLAGS_test_tmpdir std::string(testing::UnitTest::GetInstance()->original_working_dir())
#define FLAGS_test_srcdir std::string(testing::UnitTest::GetInstance()->original_working_dir())
namespace {
TEST(ProfileSymbolListTest, EmptyNameList) {
SymbolMap map;
auto list = absl::make_unique<llvm::sampleprof::ProfileSymbolList>();
fillProfileSymbolList(list.get(), /*name_size_list=*/{}, &map);
EXPECT_EQ(list->size(), 0);
}
TEST(ProfileSymbolListTest, Threshold0) {
SymbolMap map;
auto list = absl::make_unique<llvm::sampleprof::ProfileSymbolList>();
fillProfileSymbolList(list.get(), /*name_size_list=*/{{"foo", 0}}, &map,
/*size_threshold_frac=*/0);
EXPECT_EQ(list->size(), 0);
}
TEST(ProfileSymbolListTest, Threshold100) {
SymbolMap map;
auto list = absl::make_unique<llvm::sampleprof::ProfileSymbolList>();
fillProfileSymbolList(list.get(),
/*name_size_list=*/{{"foo", 10}}, &map,
/*size_threshold_frac=*/1.0);
EXPECT_EQ(list->size(), 1);
}
TEST(ProfileSymbolListTest, Threshold100Size0) {
SymbolMap map;
auto list = absl::make_unique<llvm::sampleprof::ProfileSymbolList>();
fillProfileSymbolList(
list.get(),
/*name_size_list=*/{{"foo", 10}, {"bar", 20}, {"f", 0}, {"g", 0}}, &map,
/*size_threshold_frac=*/1.0);
// Size 0 symbols are always excluded.
EXPECT_EQ(list->size(), 2);
}
TEST(ProfileSymbolListTest, Threshold001Size0) {
SymbolMap map;
auto list = absl::make_unique<llvm::sampleprof::ProfileSymbolList>();
fillProfileSymbolList(
list.get(),
/*name_size_list=*/{{"foo", 10}, {"bar", 20}, {"f", 0}, {"g", 0}}, &map,
/*size_threshold_frac=*/0.01);
EXPECT_EQ(list->size(), 0);
}
} // namespace
} // namespace devtools_crosstool_autofdo
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/rtoax/autofdo.git
git@gitee.com:rtoax/autofdo.git
rtoax
autofdo
autofdo
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385