blob: a063bcfaf1e44dbcb78438c99f4dd9fa843f7a1c [file] [log] [blame]
Matteo Martincighac60d282019-07-25 15:25:44 +01001//
Tracy Narine2883a862024-02-26 15:05:11 +00002// Copyright © 2017, 2024 Arm Ltd. All rights reserved.
Matteo Martincighac60d282019-07-25 15:25:44 +01003// 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
Tracy Narine2883a862024-02-26 15:05:11 +000012#if !defined(__APPLE__)
13
Sadik Armagan1625efc2021-06-10 18:24:34 +010014TEST_SUITE("DynamicBackendTests")
15{
Matteo Martincigh986c1862019-07-26 15:12:47 +010016ARMNN_SIMPLE_TEST_CASE(OpenCloseHandle, OpenCloseHandleTestImpl);
17ARMNN_SIMPLE_TEST_CASE(CloseInvalidHandle, CloseInvalidHandleTestImpl);
18ARMNN_SIMPLE_TEST_CASE(OpenEmptyFileName, OpenEmptyFileNameTestImpl);
19ARMNN_SIMPLE_TEST_CASE(OpenNotExistingFile, OpenNotExistingFileTestImpl);
Matteo Martincigh986c1862019-07-26 15:12:47 +010020ARMNN_SIMPLE_TEST_CASE(GetValidEntryPoint, GetValidEntryPointTestImpl);
21ARMNN_SIMPLE_TEST_CASE(GetNameMangledEntryPoint, GetNameMangledEntryPointTestImpl);
22ARMNN_SIMPLE_TEST_CASE(GetNoExternEntryPoint, GetNoExternEntryPointTestImpl);
23ARMNN_SIMPLE_TEST_CASE(GetNotExistingEntryPoint, GetNotExistingEntryPointTestImpl);
24
Matteo Martincighac60d282019-07-25 15:25:44 +010025ARMNN_SIMPLE_TEST_CASE(BackendVersioning, BackendVersioningTestImpl);
26
Matteo Martincighbc2e2102019-07-24 14:56:13 +010027ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidHandle,
28 CreateDynamicBackendObjectInvalidHandleTestImpl);
29ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface1,
30 CreateDynamicBackendObjectInvalidInterface1TestImpl);
31ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface2,
32 CreateDynamicBackendObjectInvalidInterface2TestImpl);
33ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface3,
34 CreateDynamicBackendObjectInvalidInterface3TestImpl);
35ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface4,
36 CreateDynamicBackendObjectInvalidInterface4TestImpl);
37ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface5,
38 CreateDynamicBackendObjectInvalidInterface5TestImpl);
39ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface6,
40 CreateDynamicBackendObjectInvalidInterface6TestImpl);
41ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendObjectInvalidInterface7,
42 CreateDynamicBackendObjectInvalidInterface7TestImpl);
43
Sadik Armagan1625efc2021-06-10 18:24:34 +010044ARMNN_SIMPLE_TEST_CASE(OpenNotSharedObjectFile, OpenNotSharedObjectTestImpl);
45ARMNN_SIMPLE_TEST_CASE(GetSharedObjects, GetSharedObjectsTestImpl);
46
Matteo Martincighe7d44982019-08-05 12:16:47 +010047ARMNN_SIMPLE_TEST_CASE(GetBackendPaths, GetBackendPathsTestImpl)
48ARMNN_SIMPLE_TEST_CASE(GetBackendPathsOverride, GetBackendPathsOverrideTestImpl)
49
Matteo Martincighe54aa062019-08-05 14:12:11 +010050ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackends, CreateDynamicBackendsTestImpl);
51ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsNoPaths, CreateDynamicBackendsNoPathsTestImpl);
52ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsAllInvalid, CreateDynamicBackendsAllInvalidTestImpl);
53ARMNN_SIMPLE_TEST_CASE(CreateDynamicBackendsMixedTypes, CreateDynamicBackendsMixedTypesTestImpl);
54
Matteo Martincigh0c2b2892019-08-05 14:12:11 +010055ARMNN_SIMPLE_TEST_CASE(RegisterMultipleInvalidDynamicBackends, RegisterMultipleInvalidDynamicBackendsTestImpl);
Matteo Martincigh0c2b2892019-08-05 14:12:11 +010056
Narumol Prangnawarat60a20fb2019-12-09 17:24:41 +000057#if !defined(ARMNN_DYNAMIC_BACKEND_ENABLED)
Matteo Martincigh3d8a9ed2019-08-08 10:49:03 +010058ARMNN_SIMPLE_TEST_CASE(RuntimeEmpty, RuntimeEmptyTestImpl);
Narumol Prangnawarat60a20fb2019-12-09 17:24:41 +000059#endif
Matteo Martincigh3d8a9ed2019-08-08 10:49:03 +010060ARMNN_SIMPLE_TEST_CASE(RuntimeDynamicBackends, RuntimeDynamicBackendsTestImpl);
61ARMNN_SIMPLE_TEST_CASE(RuntimeDuplicateDynamicBackends, RuntimeDuplicateDynamicBackendsTestImpl);
62ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidDynamicBackends, RuntimeInvalidDynamicBackendsTestImpl);
63ARMNN_SIMPLE_TEST_CASE(RuntimeInvalidOverridePath, RuntimeInvalidOverridePathTestImpl);
64
Matteo Martincighdb16dd32019-08-27 16:41:11 +010065#if defined(ARMNNREF_ENABLED)
Matteo Martincighe67edb22019-08-14 14:05:46 +010066
67// This test unit needs the reference backend, it's not available if the reference backend is not built
68
Matteo Martincigh4e73b422019-08-08 13:46:32 +010069ARMNN_SIMPLE_TEST_CASE(CreateReferenceDynamicBackend, CreateReferenceDynamicBackendTestImpl);
David Monahan9e9c7f52020-09-03 09:02:52 +010070ARMNN_SIMPLE_TEST_CASE(CreateValidDynamicBackendObject, CreateValidDynamicBackendObjectTestImpl);
71ARMNN_SIMPLE_TEST_CASE(RegisterSingleDynamicBackend, RegisterSingleDynamicBackendTestImpl);
72ARMNN_SIMPLE_TEST_CASE(RegisterMultipleDynamicBackends, RegisterMultipleDynamicBackendsTestImpl);
73ARMNN_SIMPLE_TEST_CASE(RegisterMixedDynamicBackends, RegisterMixedDynamicBackendsTestImpl);
Matteo Martincigh4e73b422019-08-08 13:46:32 +010074
Matteo Martincighe67edb22019-08-14 14:05:46 +010075#endif
76
Narumol Prangnawarat867eba52020-02-03 12:29:56 +000077#if defined(SAMPLE_DYNAMIC_BACKEND_ENABLED)
78ARMNN_SIMPLE_TEST_CASE(CreateSampleDynamicBackend, CreateSampleDynamicBackendTestImpl);
79ARMNN_SIMPLE_TEST_CASE(SampleDynamicBackendEndToEnd, SampleDynamicBackendEndToEndTestImpl);
80#endif
81
Sadik Armagan1625efc2021-06-10 18:24:34 +010082}
Tracy Narine2883a862024-02-26 15:05:11 +000083
84#endif