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