@@ -459,6 +459,15 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFil
459459 EXPECT_EQ (1u , aubSubCaptureManager.generateToggleFileNameCount );
460460}
461461
462+ TEST_F (AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFileNameIsCalledThenItGeneratesFileNameWithStartAndEndIndexes) {
463+ AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
464+ aubSubCaptureManager.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter;
465+ aubSubCaptureManager.subCaptureFilter .dumpKernelStartIdx = 123 ;
466+ aubSubCaptureManager.subCaptureFilter .dumpKernelEndIdx = 456 ;
467+ std::string filterFileName = aubSubCaptureManager.generateFilterFileName ();
468+ EXPECT_NE (std::string::npos, filterFileName.find (" from_123_to_456" ));
469+ }
470+
462471TEST_F (AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFileNameIsCalledAndKernelNameIsSpecifiedInFilterThenItGeneratesFileNameWithNameOfKernel) {
463472 AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
464473 std::string kernelName = " kernel_name" ;
@@ -468,6 +477,26 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFi
468477 EXPECT_NE (std::string::npos, filterFileName.find (kernelName));
469478}
470479
480+ TEST_F (AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFileNameIsCalledAndKernelNameIsSpecifiedInFilterThenItGeneratesFileNameWithStartAndEndIndexesOfKernel) {
481+ AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
482+ std::string kernelName = " kernel_name" ;
483+ aubSubCaptureManager.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter;
484+ aubSubCaptureManager.subCaptureFilter .dumpKernelName = kernelName;
485+ aubSubCaptureManager.subCaptureFilter .dumpNamedKernelStartIdx = 12 ;
486+ aubSubCaptureManager.subCaptureFilter .dumpNamedKernelEndIdx = 17 ;
487+ std::string filterFileName = aubSubCaptureManager.generateFilterFileName ();
488+ EXPECT_NE (std::string::npos, filterFileName.find (" from_12_to_17" ));
489+ }
490+
491+ TEST_F (AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGenerateToggleFileNameIsCalledThenItGeneratesFileNameWithKernelCurrentIndex) {
492+ AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
493+ std::string kernelCurrentIndex = " from_" + std::to_string (aubSubCaptureManager.getKernelCurrentIndex () - 1 );
494+ MultiDispatchInfo dispatchInfo;
495+ aubSubCaptureManager.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle;
496+ std::string filterFileName = aubSubCaptureManager.generateToggleFileName (dispatchInfo);
497+ EXPECT_NE (std::string::npos, filterFileName.find (kernelCurrentIndex));
498+ }
499+
471500TEST_F (AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGenerateToggleFileNameIsCalledAndDispatchInfoIsEmptyThenItGeneratesFileNameWithoutNameOfKernel) {
472501 AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
473502 std::string kernelName = " kernel_name" ;
@@ -504,3 +533,31 @@ TEST_F(AubSubCaptureTest, givenMultiDispatchInfoWithMultipleKernelsWhenGenerateT
504533 EXPECT_NE (std::string::npos, toggleFileName.find (mainKernelInfo.name ));
505534 EXPECT_STREQ (toggleFileName.c_str (), aubSubCaptureManager.getSubCaptureFileName (multiDispatchInfo).c_str ());
506535}
536+
537+ TEST_F (AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenKernelNameIsSpecifiedThenNamedKernelIndexesShouldApplyToTheSpecifiedKernel) {
538+ AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
539+ std::string kernelName = " kernel_name" ;
540+ aubSubCaptureManager.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter;
541+ aubSubCaptureManager.subCaptureFilter .dumpNamedKernelStartIdx = 1 ;
542+ aubSubCaptureManager.subCaptureFilter .dumpNamedKernelEndIdx = 1 ;
543+ aubSubCaptureManager.subCaptureFilter .dumpKernelName = kernelName;
544+
545+ DispatchInfo dispatchInfo;
546+ MockKernel kernel (program.get (), kernelInfo, *pDevice);
547+ dispatchInfo.setKernel (&kernel);
548+ MultiDispatchInfo multiDispatchInfo;
549+ multiDispatchInfo.push (dispatchInfo);
550+
551+ aubSubCaptureManager.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter;
552+ bool active = aubSubCaptureManager.activateSubCapture (multiDispatchInfo);
553+ EXPECT_FALSE (active);
554+ EXPECT_FALSE (aubSubCaptureManager.isSubCaptureActive ());
555+
556+ active = aubSubCaptureManager.activateSubCapture (multiDispatchInfo);
557+ EXPECT_TRUE (active);
558+ EXPECT_TRUE (aubSubCaptureManager.isSubCaptureActive ());
559+
560+ active = aubSubCaptureManager.activateSubCapture (multiDispatchInfo);
561+ EXPECT_FALSE (active);
562+ EXPECT_FALSE (aubSubCaptureManager.isSubCaptureActive ());
563+ }
0 commit comments