aboutsummaryrefslogtreecommitdiff
path: root/src/backends/test/RuntimeTestImpl.hpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-10-22 13:32:01 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:54 +0100
commitc26ba759fe67bd14829a84b5abac80f51ca61946 (patch)
tree0f5696428a899d7734b4264cec6395a8b1fce126 /src/backends/test/RuntimeTestImpl.hpp
parent5610661023a4170e677027570db18a379842dac3 (diff)
downloadarmnn-c26ba759fe67bd14829a84b5abac80f51ca61946.tar.gz
IVGCVSW-2060: Separate and move backend specific unit tests from the src/armnn/test folder to the backends
* Moved backend-specific memory leak checking tests from RuntimeTests.cpp to the corresponding backend test folder Change-Id: I0a7f4ef52c5350c3cebca23b2b4e61a9446ca11f
Diffstat (limited to 'src/backends/test/RuntimeTestImpl.hpp')
-rw-r--r--src/backends/test/RuntimeTestImpl.hpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/backends/test/RuntimeTestImpl.hpp b/src/backends/test/RuntimeTestImpl.hpp
new file mode 100644
index 0000000000..671f94b0bb
--- /dev/null
+++ b/src/backends/test/RuntimeTestImpl.hpp
@@ -0,0 +1,42 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include <armnn/ArmNN.hpp>
+#include <armnn/Runtime.hpp>
+
+namespace
+{
+
+inline void CreateAndDropDummyNetwork(const std::vector<armnn::BackendId>& backends, armnn::Runtime& runtime)
+{
+ armnn::NetworkId networkIdentifier;
+ {
+ armnn::TensorInfo inputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
+ armnn::TensorInfo outputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
+
+ armnn::INetworkPtr network(armnn::INetwork::Create());
+
+ armnn::IConnectableLayer* input = network->AddInputLayer(0, "input");
+ armnn::IConnectableLayer* layer = network->AddActivationLayer(armnn::ActivationDescriptor(), "test");
+ armnn::IConnectableLayer* output = network->AddOutputLayer(0, "output");
+
+ input->GetOutputSlot(0).Connect(layer->GetInputSlot(0));
+ layer->GetOutputSlot(0).Connect(output->GetInputSlot(0));
+
+ // Sets the tensors in the network.
+ input->GetOutputSlot(0).SetTensorInfo(inputTensorInfo);
+ layer->GetOutputSlot(0).SetTensorInfo(outputTensorInfo);
+
+ // optimize the network
+ armnn::IOptimizedNetworkPtr optNet = Optimize(*network, backends, runtime.GetDeviceSpec());
+
+ runtime.LoadNetwork(networkIdentifier, std::move(optNet));
+ }
+
+ runtime.UnloadNetwork(networkIdentifier);
+}
+
+} // anonymous namespace