Ensure sleep is called in direct submission controller

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2022-05-24 13:12:16 +00:00
committed by Compute-Runtime-Automation
parent 548f698722
commit d440d26c69
4 changed files with 20 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2021 Intel Corporation
* Copyright (C) 2019-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -17,5 +17,12 @@ struct DirectSubmissionControllerMock : public DirectSubmissionController {
using DirectSubmissionController::directSubmissionsMutex;
using DirectSubmissionController::keepControlling;
using DirectSubmissionController::timeout;
void sleep() override {
DirectSubmissionController::sleep();
this->sleepCalled = true;
}
bool sleepCalled = false;
};
} // namespace NEO

View File

@@ -96,6 +96,9 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWithStarted
EXPECT_NE(controller.directSubmissionControllingThread.get(), nullptr);
controller.startControlling();
while (!controller.sleepCalled) {
}
controller.keepControlling.store(false);
controller.directSubmissionControllingThread->join();
controller.directSubmissionControllingThread.reset();
@@ -105,6 +108,8 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWithNotStar
DirectSubmissionControllerMock controller;
EXPECT_NE(controller.directSubmissionControllingThread.get(), nullptr);
while (!controller.sleepCalled) {
}
controller.keepControlling.store(false);
controller.directSubmissionControllingThread->join();
controller.directSubmissionControllingThread.reset();