Skip to content

Commit e0b2a65

Browse files
committed
add performance tests for PipelineRun, TaskRun, PrintPerfStatistic, and GetStringParamName
1 parent ba1eb5e commit e0b2a65

1 file changed

Lines changed: 45 additions & 6 deletions

File tree

modules/core/performance/tests/perf_tests.cpp

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,11 @@ TEST(TaskTest, GetDynamicTypeReturnsCorrectEnum) {
239239

240240
TEST(TaskTest, DestructorTerminatesIfWrongOrder) {
241241
testing::FLAGS_gtest_death_test_style = "threadsafe";
242-
ASSERT_DEATH_IF_SUPPORTED(
243-
{
244-
DummyTask task;
245-
task.Run();
246-
},
247-
"");
242+
auto test_func = [&] {
243+
DummyTask task;
244+
task.Run();
245+
};
246+
ASSERT_DEATH_IF_SUPPORTED({ test_func(); }, "");
248247
}
249248

250249
namespace my {
@@ -275,3 +274,43 @@ TYPED_TEST(GetNamespaceTest, ExtractsNamespaceCorrectly) {
275274
FAIL() << "Unhandled type in test";
276275
}
277276
}
277+
278+
TEST(PerfTest, PipelineRunAndTaskRun) {
279+
auto task_ptr = std::make_shared<DummyTask>();
280+
ppc::core::Perf<int, int> perf(task_ptr);
281+
282+
ppc::core::PerfAttr attr;
283+
double time = 0.0;
284+
attr.num_running = 2;
285+
attr.current_timer = [&time]() {
286+
double t = time;
287+
time += 1.0;
288+
return t;
289+
};
290+
291+
EXPECT_NO_THROW(perf.PipelineRun(attr));
292+
auto res_pipeline = perf.GetPerfResults();
293+
EXPECT_EQ(res_pipeline.type_of_running, ppc::core::PerfResults::kPipeline);
294+
EXPECT_GT(res_pipeline.time_sec, 0.0);
295+
296+
EXPECT_NO_THROW(perf.TaskRun(attr));
297+
auto res_taskrun = perf.GetPerfResults();
298+
EXPECT_EQ(res_taskrun.type_of_running, ppc::core::PerfResults::kTaskRun);
299+
EXPECT_GT(res_taskrun.time_sec, 0.0);
300+
}
301+
302+
TEST(PerfTest, PrintPerfStatisticThrowsOnNone) {
303+
testing::FLAGS_gtest_death_test_style = "threadsafe";
304+
auto test_func = [&] {
305+
auto task_ptr = std::make_shared<DummyTask>();
306+
ppc::core::Perf<int, int> perf(task_ptr);
307+
EXPECT_THROW(perf.PrintPerfStatistic("test"), std::runtime_error);
308+
};
309+
ASSERT_DEATH_IF_SUPPORTED({ test_func(); }, "");
310+
}
311+
312+
TEST(PerfTest, GetStringParamNameTest) {
313+
EXPECT_EQ(GetStringParamName(ppc::core::PerfResults::kTaskRun), "task_run");
314+
EXPECT_EQ(GetStringParamName(ppc::core::PerfResults::kPipeline), "pipeline");
315+
EXPECT_EQ(GetStringParamName(ppc::core::PerfResults::kNone), "none");
316+
}

0 commit comments

Comments
 (0)