Files
compute-runtime/opencl/test/unit_test/mocks/mock_deferred_deleter.h
Jablonski, Mateusz 0884a341c8 Add missing override keywords
Change-Id: I30c82d2b0007d745d54c3bbc160e17b420193f3b
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-03-13 11:20:15 +01:00

77 lines
1.3 KiB
C++

/*
* Copyright (C) 2017-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/memory_manager/deferred_deleter.h"
namespace NEO {
class MockDeferredDeleter : public DeferredDeleter {
public:
MockDeferredDeleter();
~MockDeferredDeleter() override;
void deferDeletion(DeferrableDeletion *deletion) override;
void addClient() override;
void removeClient() override;
void drain(bool blocking) override;
bool areElementsReleased() override;
bool shouldStop() override;
void drain();
int getClientsNum();
int getElementsToRelease();
bool isWorking();
bool isThreadRunning();
bool isQueueEmpty();
void setElementsToRelease(int elementsNum);
void setDoWorkInBackgroundValue(bool value);
bool baseAreElementsReleased();
bool baseShouldStop();
Thread *getThreadHandle();
void runThread();
int drainCalled = 0;
int areElementsReleasedCalled = 0;
std::atomic<int> shouldStopCalled;
std::atomic<int> clearCalled;
int deferDeletionCalled = 0;
void forceStop();
void allowEarlyStopThread();
void expectDrainBlockingValue(bool value);
bool expectedDrainValue = false;
bool expectDrainCalled = false;
void clearQueue() override;
};
} // namespace NEO