@@ -239,12 +239,11 @@ TEST(TaskTest, GetDynamicTypeReturnsCorrectEnum) {
239239
240240TEST (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
250249namespace 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