telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 1 | // |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 2 | // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. |
David Beck | 93e4898 | 2018-09-05 13:05:09 +0100 | [diff] [blame] | 3 | // SPDX-License-Identifier: MIT |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 4 | // |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 5 | |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 6 | #define LOG_TAG "ArmnnDriverTests" |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 7 | #include <log/log.h> |
| 8 | |
Sadik Armagan | 9150bff | 2021-05-26 15:40:53 +0100 | [diff] [blame] | 9 | #ifndef DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN |
| 10 | #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN |
| 11 | #endif |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 12 | |
| 13 | #include "DriverTestHelpers.hpp" |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 14 | |
telsoa01 | ce3e84a | 2018-08-31 09:31:35 +0100 | [diff] [blame] | 15 | using namespace android::hardware; |
surmeh01 | 49b9e10 | 2018-05-17 14:11:25 +0100 | [diff] [blame] | 16 | using namespace driverTestHelpers; |
telsoa01 | ce3e84a | 2018-08-31 09:31:35 +0100 | [diff] [blame] | 17 | using namespace armnn_driver; |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 18 | |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 19 | DOCTEST_TEST_SUITE("DriverTests") |
Sadik Armagan | 9150bff | 2021-05-26 15:40:53 +0100 | [diff] [blame] | 20 | { |
| 21 | |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 22 | DOCTEST_TEST_CASE("Init") |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 23 | { |
| 24 | // Making the driver object on the stack causes a weird libc error, so make it on the heap instead |
| 25 | auto driver = std::make_unique<ArmnnDriver>(DriverOptions(armnn::Compute::CpuRef)); |
| 26 | |
Sadik Armagan | 188675f | 2021-02-12 17:16:42 +0000 | [diff] [blame] | 27 | V1_0::DeviceStatus status = driver->getStatus(); |
Sadik Armagan | 9150bff | 2021-05-26 15:40:53 +0100 | [diff] [blame] | 28 | // Note double-parentheses to avoid compile error from doctest trying to printf the DeviceStatus |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 29 | DOCTEST_CHECK((status == V1_0::DeviceStatus::AVAILABLE)); |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 30 | } |
| 31 | |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 32 | DOCTEST_TEST_CASE("TestCapabilities") |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 33 | { |
| 34 | // Making the driver object on the stack causes a weird libc error, so make it on the heap instead |
| 35 | auto driver = std::make_unique<ArmnnDriver>(DriverOptions(armnn::Compute::CpuRef)); |
| 36 | |
Kevin May | ec1e5b8 | 2020-02-26 17:00:39 +0000 | [diff] [blame] | 37 | V1_0::ErrorStatus error; |
Matteo Martincigh | 8b287c2 | 2018-09-07 09:25:10 +0100 | [diff] [blame] | 38 | V1_0::Capabilities cap; |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 39 | |
Kevin May | ec1e5b8 | 2020-02-26 17:00:39 +0000 | [diff] [blame] | 40 | auto cb = [&](V1_0::ErrorStatus status, const V1_0::Capabilities& capabilities) |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 41 | { |
| 42 | error = status; |
| 43 | cap = capabilities; |
| 44 | }; |
| 45 | |
| 46 | driver->getCapabilities(cb); |
| 47 | |
Mike Kelly | e2d611e | 2021-10-14 12:35:58 +0100 | [diff] [blame] | 48 | DOCTEST_CHECK((int)error == (int)V1_0::ErrorStatus::NONE); |
| 49 | DOCTEST_CHECK(cap.float32Performance.execTime > 0.f); |
| 50 | DOCTEST_CHECK(cap.float32Performance.powerUsage > 0.f); |
| 51 | DOCTEST_CHECK(cap.quantized8Performance.execTime > 0.f); |
| 52 | DOCTEST_CHECK(cap.quantized8Performance.powerUsage > 0.f); |
telsoa01 | 5307bc1 | 2018-03-09 13:51:08 +0000 | [diff] [blame] | 53 | } |
| 54 | |
Sadik Armagan | 9150bff | 2021-05-26 15:40:53 +0100 | [diff] [blame] | 55 | } |