77
88#include " runtime/os_interface/windows/wddm_residency_controller.h"
99#include " runtime/os_interface/os_context.h"
10+ #include " unit_tests/mocks/mock_wddm.h"
1011#include " unit_tests/os_interface/windows/mock_wddm_allocation.h"
1112
1213#include " test.h"
@@ -22,36 +23,39 @@ class MockWddmResidencyController : public WddmResidencyController {
2223};
2324
2425struct WddmResidencyControllerTest : ::testing::Test {
26+ const uint32_t osContextId = 0u ;
27+
2528 void SetUp () {
26- osContext = std::make_unique<OsContext>(nullptr , 0u );
27- residencyController = std::make_unique<MockWddmResidencyController>(osContext->getContextId ());
29+ wddm = std::unique_ptr<Wddm>(Wddm::createWddm ());
30+ wddm->init ();
31+ residencyController = std::make_unique<MockWddmResidencyController>(*wddm, osContextId);
2832 }
2933
30- std::unique_ptr<OsContext> osContext ;
34+ std::unique_ptr<Wddm> wddm ;
3135 std::unique_ptr<MockWddmResidencyController> residencyController;
3236};
3337
3438TEST_F (WddmResidencyControllerTest, givenUsedAllocationWhenCallingRemoveFromTrimCandidateListIfUsedThenRemoveIt) {
3539 MockWddmAllocation allocation;
3640 residencyController->addToTrimCandidateList (&allocation);
3741 residencyController->removeFromTrimCandidateListIfUsed (&allocation, false );
38- EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
42+ EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContextId ));
3943}
4044
4145TEST_F (WddmResidencyControllerTest, givenUnusedAllocationWhenCallingRemoveFromTrimCandidateListIfUsedThenIgnore) {
4246 MockWddmAllocation allocation;
4347 residencyController->removeFromTrimCandidateListIfUsed (&allocation, false );
44- EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
48+ EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContextId ));
4549}
4650
4751TEST_F (WddmResidencyControllerTest, addToTrimCandidateListPlacesAllocationInContainerAndAssignsPosition) {
4852 MockWddmAllocation allocation;
4953 residencyController->addToTrimCandidateList (&allocation);
5054
5155 EXPECT_NE (0u , residencyController->trimCandidateList .size ());
52- EXPECT_NE (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
56+ EXPECT_NE (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContextId ));
5357
54- size_t position = allocation.getTrimCandidateListPosition (osContext-> getContextId () );
58+ size_t position = allocation.getTrimCandidateListPosition (osContextId );
5559 ASSERT_LT (position, residencyController->trimCandidateList .size ());
5660
5761 EXPECT_EQ (&allocation, residencyController->trimCandidateList [position]);
@@ -64,9 +68,9 @@ TEST_F(WddmResidencyControllerTest, addToTrimCandidateListDoesNotInsertAllocatio
6468
6569 residencyController->addToTrimCandidateList (&allocation);
6670
67- EXPECT_NE (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
71+ EXPECT_NE (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContextId ));
6872
69- size_t position = allocation.getTrimCandidateListPosition (osContext-> getContextId () );
73+ size_t position = allocation.getTrimCandidateListPosition (osContextId );
7074 ASSERT_LT (position, residencyController->trimCandidateList .size ());
7175
7276 EXPECT_EQ (&allocation, residencyController->trimCandidateList [position]);
@@ -75,7 +79,7 @@ TEST_F(WddmResidencyControllerTest, addToTrimCandidateListDoesNotInsertAllocatio
7579 residencyController->addToTrimCandidateList (&allocation);
7680
7781 EXPECT_EQ (previousSize, residencyController->trimCandidateList .size ());
78- EXPECT_EQ (position, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
82+ EXPECT_EQ (position, allocation.getTrimCandidateListPosition (osContextId ));
7983}
8084
8185TEST_F (WddmResidencyControllerTest, removeFromTrimCandidateListAssignsUnusedPosition) {
@@ -84,14 +88,14 @@ TEST_F(WddmResidencyControllerTest, removeFromTrimCandidateListAssignsUnusedPosi
8488 residencyController->addToTrimCandidateList (&allocation);
8589 residencyController->removeFromTrimCandidateList (&allocation, false );
8690
87- EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContext-> getContextId () ));
91+ EXPECT_EQ (trimListUnusedPosition, allocation.getTrimCandidateListPosition (osContextId ));
8892}
8993
9094TEST_F (WddmResidencyControllerTest, removeFromTrimCandidateListRemovesAllocationInAssignedPosition) {
9195 MockWddmAllocation allocation;
9296
9397 residencyController->addToTrimCandidateList (&allocation);
94- size_t position = allocation.getTrimCandidateListPosition (osContext-> getContextId () );
98+ size_t position = allocation.getTrimCandidateListPosition (osContextId );
9599
96100 residencyController->removeFromTrimCandidateList (&allocation, false );
97101
@@ -140,8 +144,8 @@ TEST_F(WddmResidencyControllerTest, successiveAddingToTrimCandidateListAssignsNe
140144 residencyController->addToTrimCandidateList (&allocation3);
141145
142146 EXPECT_EQ (3u , residencyController->trimCandidateList .size ());
143- EXPECT_NE (allocation1.getTrimCandidateListPosition (osContext-> getContextId ()) , allocation2.getTrimCandidateListPosition (osContext-> getContextId () ));
144- EXPECT_NE (allocation2.getTrimCandidateListPosition (osContext-> getContextId ()) , allocation3.getTrimCandidateListPosition (osContext-> getContextId () ));
147+ EXPECT_NE (allocation1.getTrimCandidateListPosition (osContextId) , allocation2.getTrimCandidateListPosition (osContextId ));
148+ EXPECT_NE (allocation2.getTrimCandidateListPosition (osContextId) , allocation3.getTrimCandidateListPosition (osContextId ));
145149}
146150
147151TEST_F (WddmResidencyControllerTest, DISABLED_removingNotLastAllocationFromTrimCandidateListSubstituesLastPositionAllocation) {
@@ -155,8 +159,8 @@ TEST_F(WddmResidencyControllerTest, DISABLED_removingNotLastAllocationFromTrimCa
155159
156160 EXPECT_EQ (2u , residencyController->trimCandidateList .size ());
157161
158- EXPECT_EQ (2u , allocation3.getTrimCandidateListPosition (osContext-> getContextId () ));
159- EXPECT_NE (allocation2.getTrimCandidateListPosition (osContext-> getContextId ()) , allocation3.getTrimCandidateListPosition (osContext-> getContextId () ));
162+ EXPECT_EQ (2u , allocation3.getTrimCandidateListPosition (osContextId ));
163+ EXPECT_NE (allocation2.getTrimCandidateListPosition (osContextId) , allocation3.getTrimCandidateListPosition (osContextId ));
160164}
161165
162166TEST_F (WddmResidencyControllerTest, removingNotLastAllocationFromTrimCandidateListPutsNullEntry) {
@@ -165,8 +169,8 @@ TEST_F(WddmResidencyControllerTest, removingNotLastAllocationFromTrimCandidateLi
165169 residencyController->addToTrimCandidateList (&allocation1);
166170 residencyController->addToTrimCandidateList (&allocation2);
167171 residencyController->addToTrimCandidateList (&allocation3);
168- size_t position2 = allocation2.getTrimCandidateListPosition (osContext-> getContextId () );
169- size_t position3 = allocation3.getTrimCandidateListPosition (osContext-> getContextId () );
172+ size_t position2 = allocation2.getTrimCandidateListPosition (osContextId );
173+ size_t position3 = allocation3.getTrimCandidateListPosition (osContextId );
170174
171175 residencyController->removeFromTrimCandidateList (&allocation2, false );
172176
@@ -183,8 +187,8 @@ TEST_F(WddmResidencyControllerTest, compactTrimCandidateListRemovesInitialNullEn
183187 residencyController->addToTrimCandidateList (&allocation3);
184188 residencyController->addToTrimCandidateList (&allocation4);
185189
186- size_t position3 = allocation3.getTrimCandidateListPosition (osContext-> getContextId () );
187- size_t position4 = allocation4.getTrimCandidateListPosition (osContext-> getContextId () );
190+ size_t position3 = allocation3.getTrimCandidateListPosition (osContextId );
191+ size_t position4 = allocation4.getTrimCandidateListPosition (osContextId );
188192
189193 residencyController->removeFromTrimCandidateList (&allocation2, false );
190194 residencyController->removeFromTrimCandidateList (&allocation1, false );
@@ -196,10 +200,10 @@ TEST_F(WddmResidencyControllerTest, compactTrimCandidateListRemovesInitialNullEn
196200 EXPECT_EQ (2u , residencyController->trimCandidateList .size ());
197201
198202 EXPECT_EQ (residencyController->trimCandidateList [0 ], &allocation3);
199- EXPECT_EQ (0u , allocation3.getTrimCandidateListPosition (osContext-> getContextId () ));
203+ EXPECT_EQ (0u , allocation3.getTrimCandidateListPosition (osContextId ));
200204
201205 EXPECT_EQ (residencyController->trimCandidateList [1 ], &allocation4);
202- EXPECT_EQ (1u , allocation4.getTrimCandidateListPosition (osContext-> getContextId () ));
206+ EXPECT_EQ (1u , allocation4.getTrimCandidateListPosition (osContextId ));
203207}
204208
205209TEST_F (WddmResidencyControllerTest, compactTrimCandidateListWithNonNullEntries) {
0 commit comments