@@ -173,7 +173,6 @@ TEST(DrmTest, GivenDrmWhenAskedForContextThatFailsThenFalseIsReturned) {
173173
174174TEST (DrmTest, givenDrmWhenOsContextIsCreatedThenCreateAndDestroyNewDrmOsContext) {
175175 DrmMock drmMock;
176-
177176 uint32_t drmContextId1 = 123 ;
178177 uint32_t drmContextId2 = 456 ;
179178
@@ -199,6 +198,30 @@ TEST(DrmTest, givenDrmWhenOsContextIsCreatedThenCreateAndDestroyNewDrmOsContext)
199198 EXPECT_EQ (0u , drmMock.receivedContextParamRequestCount );
200199}
201200
201+ TEST (DrmTest, givenDrmAndNegativeCheckNonPersistentSupportWhenOsContextIsCreatedThenReceivedContextParamRequestCountReturnsCorrectValue) {
202+
203+ DrmMock drmMock;
204+ uint32_t drmContextId1 = 123 ;
205+ drmMock.StoredCtxId = drmContextId1;
206+ auto expectedCount = 0u ;
207+
208+ {
209+ drmMock.StoredRetValForPersistant = -1 ;
210+ drmMock.checkNonPersistentSupport ();
211+ ++expectedCount;
212+ OsContextLinux osContext (drmMock, 0u , 1 , aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false );
213+ EXPECT_EQ (expectedCount, drmMock.receivedContextParamRequestCount );
214+ }
215+ {
216+ drmMock.StoredRetValForPersistant = 0 ;
217+ drmMock.checkNonPersistentSupport ();
218+ ++expectedCount;
219+ OsContextLinux osContext (drmMock, 0u , 1 , aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false );
220+ ++expectedCount;
221+ EXPECT_EQ (expectedCount, drmMock.receivedContextParamRequestCount );
222+ }
223+ }
224+
202225TEST (DrmTest, givenDrmPreemptionEnabledAndLowPriorityEngineWhenCreatingOsContextThenCallSetContextPriorityIoctl) {
203226 DrmMock drmMock;
204227 drmMock.StoredCtxId = 123 ;
@@ -332,6 +355,16 @@ TEST(DrmTest, givenPlatformWhereGetSseuRetFailureWhenCallSetQueueSliceCountThenS
332355 EXPECT_NE (drm->getSliceMask (newSliceCount), drm->storedParamSseu );
333356}
334357
358+ TEST (DrmTest, whenCheckNonPeristentSupportIsCalledThenIsNonPersistentSupportedReturnsCorrectValues) {
359+ std::unique_ptr<DrmMock> drm = std::make_unique<DrmMock>();
360+ drm->StoredRetValForPersistant = -1 ;
361+ drm->checkNonPersistentSupport ();
362+ EXPECT_FALSE (drm->isNonPersistentSupported ());
363+ drm->StoredRetValForPersistant = 0 ;
364+ drm->checkNonPersistentSupport ();
365+ EXPECT_TRUE (drm->isNonPersistentSupported ());
366+ }
367+
335368TEST (DrmTest, givenPlatformWhereSetSseuRetFailureWhenCallSetQueueSliceCountThenReturnFalse) {
336369 uint64_t newSliceCount = 1 ;
337370 std::unique_ptr<DrmMock> drm = std::make_unique<DrmMock>();
0 commit comments