aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/MockBackend.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon/test/MockBackend.hpp')
-rw-r--r--src/backends/backendsCommon/test/MockBackend.hpp82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/test/MockBackend.hpp b/src/backends/backendsCommon/test/MockBackend.hpp
index d1a0082e2e..21ce7ab85d 100644
--- a/src/backends/backendsCommon/test/MockBackend.hpp
+++ b/src/backends/backendsCommon/test/MockBackend.hpp
@@ -5,6 +5,10 @@
#pragma once
+#include "armnn/backends/profiling/IBackendProfiling.hpp"
+#include "armnn/backends/profiling/IBackendProfilingContext.hpp"
+#include "MockBackendId.hpp"
+
#include <LayerSupportCommon.hpp>
#include <armnn/backends/IBackendInternal.hpp>
#include <armnn/backends/OptimizationViews.hpp>
@@ -13,6 +17,84 @@
namespace armnn
{
+class MockBackendInitialiser
+{
+public:
+ MockBackendInitialiser();
+ ~MockBackendInitialiser();
+};
+
+class MockBackendProfilingService
+{
+public:
+ // Getter for the singleton instance
+ static MockBackendProfilingService& Instance()
+ {
+ static MockBackendProfilingService instance;
+ return instance;
+ }
+
+ armnn::profiling::IBackendProfilingContext* GetContext()
+ {
+ return m_sharedContext.get();
+ }
+
+ void SetProfilingContextPtr(IBackendInternal::IBackendProfilingContextPtr& shared)
+ {
+ m_sharedContext = shared;
+ }
+
+private:
+ IBackendInternal::IBackendProfilingContextPtr m_sharedContext;
+};
+
+class MockBackendProfilingContext : public profiling::IBackendProfilingContext
+{
+public:
+ MockBackendProfilingContext(IBackendInternal::IBackendProfilingPtr& backendProfiling)
+ : m_BackendProfiling(backendProfiling)
+ {}
+
+ ~MockBackendProfilingContext() = default;
+
+ IBackendInternal::IBackendProfilingPtr& GetBackendProfiling()
+ {
+ return m_BackendProfiling;
+ }
+
+ uint16_t RegisterCounters(uint16_t currentMaxGlobalCounterId)
+ {
+ std::unique_ptr<profiling::IRegisterBackendCounters> counterRegistrar =
+ m_BackendProfiling->GetCounterRegistrationInterface(currentMaxGlobalCounterId);
+
+ std::string categoryName("MockCounters");
+ counterRegistrar->RegisterCategory(categoryName);
+ uint16_t nextMaxGlobalCounterId = counterRegistrar->RegisterCounter(
+ 0, categoryName, 0, 0, 1.f, "Mock Counter One", "Some notional counter");
+
+ nextMaxGlobalCounterId = counterRegistrar->RegisterCounter(
+ 1, categoryName, 0, 0, 1.f, "Mock Counter Two", "Another notional counter");
+
+ std::string units("microseconds");
+ nextMaxGlobalCounterId = counterRegistrar->RegisterCounter(
+ 2, categoryName, 0, 0, 1.f, "Mock MultiCore Counter", "A dummy four core counter", units, 4);
+ return nextMaxGlobalCounterId;
+ }
+
+ void ActivateCounters(uint32_t, const std::vector<uint16_t>&)
+ {}
+
+ std::vector<profiling::Timestamp> ReportCounterValues()
+ {
+ return std::vector<profiling::Timestamp>();
+ }
+
+ void EnableProfiling(bool)
+ {}
+
+private:
+ IBackendInternal::IBackendProfilingPtr& m_BackendProfiling;
+};
class MockBackend : public IBackendInternal
{