blob: 72688adcbd0a9133d6eb1376d67c5dcdfe9a3f74 [file] [log] [blame]
Matteo Martincighac60d282019-07-25 15:25:44 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "DynamicBackendTests.hpp"
7
Sadik Armagana097d2a2021-11-24 15:47:28 +00008#include <UnitTests.hpp>
Matteo Martincighbc2e2102019-07-24 14:56:13 +01009
Sadik Armagan1625efc2021-06-10 18:24:34 +010010#include <doctest/doctest.h>
Matteo Martincighac60d282019-07-25 15:25:44 +010011
Sadik Armagan1625efc2021-06-10 18:24:34 +010012TEST_SUITE("DynamicBackendTests")
13{
Matteo Martincigh986c1862019-07-26 15:12:47 +010014ARMNN_SIMPLE_TEST_CASE(OpenCloseHandle, OpenCloseHandleTestImpl);
15ARMNN_SIMPLE_TEST_CASE(CloseInvalidHandle, CloseInvalidHandleTestImpl);
16ARMNN_SIMPLE_TEST_CASE(OpenEmptyFileName, OpenEmptyFileNameTestImpl);
17ARMNN_SIMPLE_TEST_CASE(OpenNotExistingFile, OpenNotExistingFileTestImpl);
Matteo Martincigh986c1862019-07-26 15:12:47 +010018ARMNN_SIMPLE_TEST_CASE(GetValidEntryPoint, GetValidEntryPointTestImpl);
19ARMNN_SIMPLE_TEST_CASE(GetNameMangledEntryPoint, GetNameMangledEntryPointTestImpl);
20ARMNN_SIMPLE_TEST_CASE(GetNoExternEntryPoint, GetNoExternEntryPointTestImpl);
21ARMNN_SIMPLE_TEST_CASE(GetNotExistingEntryPoint, GetNotExistingEntryPointTestImpl);
22
Matteo Martincighac60d282019-07-25 15:25:44 +010023ARMNN_SIMPLE_TEST_CASE(BackendVersioning, BackendVersioningTestImpl);
24
Matteo Martincighbc2e2102019-07-24 14:56:13 +010025ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidHandle,
26 CreateDynamicBackendObjectInvalidHandleTestImpl);
27ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface1,
28 CreateDynamicBackendObjectInvalidInterface1TestImpl);
29ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface2,
30 CreateDynamicBackendObjectInvalidInterface2TestImpl);
31ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface3,
32 CreateDynamicBackendObjectInvalidInterface3TestImpl);
33ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface4,
34 CreateDynamicBackendObjectInvalidInterface4TestImpl);
35ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface5,
36 CreateDynamicBackendObjectInvalidInterface5TestImpl);
37ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface6,
38 CreateDynamicBackendObjectInvalidInterface6TestImpl);
39ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface7,
40 CreateDynamicBackendObjectInvalidInterface7TestImpl);
41
Sadik Armagan1625efc2021-06-10 18:24:34 +010042ARMNN_SIMPLE_TEST_CASE(OpenNotSharedObjectFile, OpenNotSharedObjectTestImpl);
43ARMNN_SIMPLE_TEST_CASE(GetSharedObjects, GetSharedObjectsTestImpl);
44
Matteo Martincighe7d44982019-08-05 12:16:47 +010045ARMNN_SIMPLE_TEST_CASE(GetBackendPaths, GetBackendPathsTestImpl)
46ARMNN_SIMPLE_TEST_CASE(GetBackendPathsOverride, GetBackendPathsOverrideTestImpl)
47
Matteo Martincighe54aa062019-08-05 14:12:11 +010048ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackends, CreateDynamicBackendsTestImpl);
49ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsNoPaths, CreateDynamicBackendsNoPathsTestImpl);
50ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsAllInvalid, CreateDynamicBackendsAllInvalidTestImpl);
51ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsMixedTypes, CreateDynamicBackendsMixedTypesTestImpl);
52
Matteo Martincigh0c2b2892019-08-05 14:12:11 +010053ARMNN_SIMPLE_TEST_CASE(RegisterMultipleInvalidDynamicBackends, RegisterMultipleInvalidDynamicBackendsTestImpl);
Matteo Martincigh0c2b2892019-08-05 14:12:11 +010054
Narumol Prangnawarat60a20fb2019-12-09 17:24:41 +000055#if !defined(ARMNN_DYNAMIC_BACKEND_ENABLED)
Matteo Martincigh3d8a9ed2019-08-08 10:49:03 +010056ARMNN_SIMPLE_TEST_CASE(RuntimeEmpty, RuntimeEmptyTestImpl);
Narumol Prangnawarat60a20fb2019-12-09 17:24:41 +000057#endif
Matteo Martincigh3d8a9ed2019-08-08 10:49:03 +010058ARMNN_SIMPLE_TEST_CASE(RuntimeDynamicBackends, RuntimeDynamicBackendsTestImpl);
59ARMNN_SIMPLE_TEST_CASE(RuntimeDuplicateDynamicBackends, RuntimeDuplicateDynamicBackendsTestImpl);
60ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidDynamicBackends, RuntimeInvalidDynamicBackendsTestImpl);
61ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidOverridePath, RuntimeInvalidOverridePathTestImpl);
62
Matteo Martincighdb16dd32019-08-27 16:41:11 +010063#if defined(ARMNNREF_ENABLED)
Matteo Martincighe67edb22019-08-14 14:05:46 +010064
65// This test unit needs the reference backend, it's not available if the reference backend is not built
66
Matteo Martincigh4e73b422019-08-08 13:46:32 +010067ARMNN_SIMPLE_TEST_CASE(CreateReferenceDynamicBackend, CreateReferenceDynamicBackendTestImpl);
David Monahan9e9c7f52020-09-03 09:02:52 +010068ARMNN_SIMPLE_TEST_CASE(CreateValidDynamicBackendObject, CreateValidDynamicBackendObjectTestImpl);
69ARMNN_SIMPLE_TEST_CASE(RegisterSingleDynamicBackend, RegisterSingleDynamicBackendTestImpl);
70ARMNN_SIMPLE_TEST_CASE(RegisterMultipleDynamicBackends, RegisterMultipleDynamicBackendsTestImpl);
71ARMNN_SIMPLE_TEST_CASE(RegisterMixedDynamicBackends, RegisterMixedDynamicBackendsTestImpl);
Matteo Martincigh4e73b422019-08-08 13:46:32 +010072
Matteo Martincighe67edb22019-08-14 14:05:46 +010073#endif
74
Narumol Prangnawarat867eba52020-02-03 12:29:56 +000075#if defined(SAMPLE_DYNAMIC_BACKEND_ENABLED)
76ARMNN_SIMPLE_TEST_CASE(CreateSampleDynamicBackend, CreateSampleDynamicBackendTestImpl);
77ARMNN_SIMPLE_TEST_CASE(SampleDynamicBackendEndToEnd, SampleDynamicBackendEndToEndTestImpl);
78#endif
79
Sadik Armagan1625efc2021-06-10 18:24:34 +010080}