xref: /aosp_15_r20/external/google-benchmark/test/benchmark_name_gtest.cc (revision dbb99499c3810fa1611fa2242a2fc446be01a57c)
1*dbb99499SAndroid Build Coastguard Worker #include "benchmark/benchmark.h"
2*dbb99499SAndroid Build Coastguard Worker #include "gtest/gtest.h"
3*dbb99499SAndroid Build Coastguard Worker 
4*dbb99499SAndroid Build Coastguard Worker namespace {
5*dbb99499SAndroid Build Coastguard Worker 
6*dbb99499SAndroid Build Coastguard Worker using namespace benchmark;
7*dbb99499SAndroid Build Coastguard Worker using namespace benchmark::internal;
8*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,Empty)9*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, Empty) {
10*dbb99499SAndroid Build Coastguard Worker   const auto name = BenchmarkName();
11*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), std::string());
12*dbb99499SAndroid Build Coastguard Worker }
13*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,FunctionName)14*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, FunctionName) {
15*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
16*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
17*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name");
18*dbb99499SAndroid Build Coastguard Worker }
19*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,FunctionNameAndArgs)20*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, FunctionNameAndArgs) {
21*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
22*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
23*dbb99499SAndroid Build Coastguard Worker   name.args = "some_args:3/4/5";
24*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/some_args:3/4/5");
25*dbb99499SAndroid Build Coastguard Worker }
26*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,MinTime)27*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, MinTime) {
28*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
29*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
30*dbb99499SAndroid Build Coastguard Worker   name.args = "some_args:3/4";
31*dbb99499SAndroid Build Coastguard Worker   name.min_time = "min_time:3.4s";
32*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_time:3.4s");
33*dbb99499SAndroid Build Coastguard Worker }
34*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,MinWarmUpTime)35*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, MinWarmUpTime) {
36*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
37*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
38*dbb99499SAndroid Build Coastguard Worker   name.args = "some_args:3/4";
39*dbb99499SAndroid Build Coastguard Worker   name.min_warmup_time = "min_warmup_time:3.5s";
40*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/some_args:3/4/min_warmup_time:3.5s");
41*dbb99499SAndroid Build Coastguard Worker }
42*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,Iterations)43*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, Iterations) {
44*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
45*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
46*dbb99499SAndroid Build Coastguard Worker   name.min_time = "min_time:3.4s";
47*dbb99499SAndroid Build Coastguard Worker   name.iterations = "iterations:42";
48*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/min_time:3.4s/iterations:42");
49*dbb99499SAndroid Build Coastguard Worker }
50*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,Repetitions)51*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, Repetitions) {
52*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
53*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
54*dbb99499SAndroid Build Coastguard Worker   name.min_time = "min_time:3.4s";
55*dbb99499SAndroid Build Coastguard Worker   name.repetitions = "repetitions:24";
56*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/min_time:3.4s/repetitions:24");
57*dbb99499SAndroid Build Coastguard Worker }
58*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,TimeType)59*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, TimeType) {
60*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
61*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
62*dbb99499SAndroid Build Coastguard Worker   name.min_time = "min_time:3.4s";
63*dbb99499SAndroid Build Coastguard Worker   name.time_type = "hammer_time";
64*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/min_time:3.4s/hammer_time");
65*dbb99499SAndroid Build Coastguard Worker }
66*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,Threads)67*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, Threads) {
68*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
69*dbb99499SAndroid Build Coastguard Worker   name.function_name = "function_name";
70*dbb99499SAndroid Build Coastguard Worker   name.min_time = "min_time:3.4s";
71*dbb99499SAndroid Build Coastguard Worker   name.threads = "threads:256";
72*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "function_name/min_time:3.4s/threads:256");
73*dbb99499SAndroid Build Coastguard Worker }
74*dbb99499SAndroid Build Coastguard Worker 
TEST(BenchmarkNameTest,TestEmptyFunctionName)75*dbb99499SAndroid Build Coastguard Worker TEST(BenchmarkNameTest, TestEmptyFunctionName) {
76*dbb99499SAndroid Build Coastguard Worker   auto name = BenchmarkName();
77*dbb99499SAndroid Build Coastguard Worker   name.args = "first:3/second:4";
78*dbb99499SAndroid Build Coastguard Worker   name.threads = "threads:22";
79*dbb99499SAndroid Build Coastguard Worker   EXPECT_EQ(name.str(), "first:3/second:4/threads:22");
80*dbb99499SAndroid Build Coastguard Worker }
81*dbb99499SAndroid Build Coastguard Worker 
82*dbb99499SAndroid Build Coastguard Worker }  // end namespace
83