2019-03-17 21:38:51 +08:00
|
|
|
#include "benchmark/benchmark.h"
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
|
|
using namespace benchmark;
|
|
|
|
using namespace benchmark::internal;
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, Empty) {
|
|
|
|
const auto name = BenchmarkName();
|
|
|
|
EXPECT_EQ(name.str(), std::string());
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, FunctionName) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
EXPECT_EQ(name.str(), "function_name");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, FunctionNameAndArgs) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.args = "some_args:3/4/5";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/some_args:3/4/5");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, MinTime) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.args = "some_args:3/4";
|
|
|
|
name.min_time = "min_time:3.4s";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_time:3.4s");
|
|
|
|
}
|
|
|
|
|
2022-05-23 20:50:17 +08:00
|
|
|
TEST(BenchmarkNameTest, MinWarmUpTime) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.args = "some_args:3/4";
|
|
|
|
name.min_warmup_time = "min_warmup_time:3.5s";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_warmup_time:3.5s");
|
|
|
|
}
|
|
|
|
|
2019-03-17 21:38:51 +08:00
|
|
|
TEST(BenchmarkNameTest, Iterations) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.min_time = "min_time:3.4s";
|
|
|
|
name.iterations = "iterations:42";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/min_time:3.4s/iterations:42");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, Repetitions) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.min_time = "min_time:3.4s";
|
|
|
|
name.repetitions = "repetitions:24";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/min_time:3.4s/repetitions:24");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, TimeType) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.min_time = "min_time:3.4s";
|
|
|
|
name.time_type = "hammer_time";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/min_time:3.4s/hammer_time");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, Threads) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.function_name = "function_name";
|
|
|
|
name.min_time = "min_time:3.4s";
|
|
|
|
name.threads = "threads:256";
|
|
|
|
EXPECT_EQ(name.str(), "function_name/min_time:3.4s/threads:256");
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(BenchmarkNameTest, TestEmptyFunctionName) {
|
|
|
|
auto name = BenchmarkName();
|
|
|
|
name.args = "first:3/second:4";
|
|
|
|
name.threads = "threads:22";
|
|
|
|
EXPECT_EQ(name.str(), "first:3/second:4/threads:22");
|
|
|
|
}
|
|
|
|
|
|
|
|
} // end namespace
|