From c4fb0dd4145e05123c546458ba5d281abfcc2b28 Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Thu, 16 Mar 2023 17:01:56 +0000 Subject: IVGCVSW-7556 Introduce Opaque Delegate API * Also added cmake for the new layers to reduce merge conflicts. Signed-off-by: Francis Murtagh Change-Id: Ieb59aa2b7e2a18c57c9357b8d5b5cd63d8211c85 --- delegate/test/ArmnnDelegateTest.cpp | 40 ++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'delegate/test') diff --git a/delegate/test/ArmnnDelegateTest.cpp b/delegate/test/ArmnnDelegateTest.cpp index c23c702af8..4ef4ce9ed2 100644 --- a/delegate/test/ArmnnDelegateTest.cpp +++ b/delegate/test/ArmnnDelegateTest.cpp @@ -6,7 +6,9 @@ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include -#include +#include +#include +#include #include #include @@ -88,6 +90,42 @@ TEST_CASE ("ArmnnDelegateOptimizerOptionsRegistered") CHECK(tfLiteInterpreter != nullptr); } +TEST_CASE ("DelegateOptions_OpaqueDelegateDefault") +{ + // Check default options can be created + auto options = TfLiteArmnnDelegateOptionsDefault(); + armnnOpaqueDelegate::ArmnnOpaqueDelegate delegate(options); + + // Check version returns correctly + auto version = delegate.GetVersion(); + CHECK_EQ(version, OPAQUE_DELEGATE_VERSION); + + auto* builder = delegate.GetDelegateBuilder(); + CHECK(builder); + + // Check Opaque delegate created + auto opaqueDelegate = armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateCreate(&options); + CHECK(opaqueDelegate); + + // Check Opaque Delegate can be deleted + CHECK(opaqueDelegate->opaque_delegate_builder->data); + armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateDelete(opaqueDelegate); +} + +TEST_CASE ("DelegateOptions_ClassicDelegateDefault") +{ + // Check default options can be created + auto options = TfLiteArmnnDelegateOptionsDefault(); + + // Check Classic delegate created + auto classicDelegate = armnnDelegate::TfLiteArmnnDelegateCreate(options); + CHECK(classicDelegate); + + // Check Classic Delegate can be deleted + CHECK(classicDelegate->data_); + armnnDelegate::TfLiteArmnnDelegateDelete(classicDelegate); +} + } } // namespace armnnDelegate -- cgit v1.2.1