@@ -459,6 +459,15 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFil
459
459
EXPECT_EQ (1u , aubSubCaptureManager.generateToggleFileNameCount );
460
460
}
461
461
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
+
462
471
TEST_F (AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFileNameIsCalledAndKernelNameIsSpecifiedInFilterThenItGeneratesFileNameWithNameOfKernel) {
463
472
AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
464
473
std::string kernelName = " kernel_name" ;
@@ -468,6 +477,26 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFi
468
477
EXPECT_NE (std::string::npos, filterFileName.find (kernelName));
469
478
}
470
479
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
+
471
500
TEST_F (AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGenerateToggleFileNameIsCalledAndDispatchInfoIsEmptyThenItGeneratesFileNameWithoutNameOfKernel) {
472
501
AubSubCaptureManagerMock aubSubCaptureManager (" aubfile.aub" );
473
502
std::string kernelName = " kernel_name" ;
@@ -504,3 +533,31 @@ TEST_F(AubSubCaptureTest, givenMultiDispatchInfoWithMultipleKernelsWhenGenerateT
504
533
EXPECT_NE (std::string::npos, toggleFileName.find (mainKernelInfo.name ));
505
534
EXPECT_STREQ (toggleFileName.c_str (), aubSubCaptureManager.getSubCaptureFileName (multiDispatchInfo).c_str ());
506
535
}
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