blob: ef952964f7dc160c8a5a8fe0e4256dce152b6a1f [file] [log] [blame]
surmeh0149b9e102018-05-17 14:11:25 +01001//
Mike Kellye2d611e2021-10-14 12:35:58 +01002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
David Beck93e48982018-09-05 13:05:09 +01003// SPDX-License-Identifier: MIT
surmeh0149b9e102018-05-17 14:11:25 +01004//
Mike Kellye2d611e2021-10-14 12:35:58 +01005
surmeh0149b9e102018-05-17 14:11:25 +01006#include "DriverTestHelpers.hpp"
surmeh0149b9e102018-05-17 14:11:25 +01007#include <log/log.h>
Mike Kellye2d611e2021-10-14 12:35:58 +01008#include <SystemPropertiesUtils.hpp>
surmeh0149b9e102018-05-17 14:11:25 +01009
Mike Kellye2d611e2021-10-14 12:35:58 +010010DOCTEST_TEST_SUITE("SystemProperiesTests")
Sadik Armagan9150bff2021-05-26 15:40:53 +010011{
Mike Kellye2d611e2021-10-14 12:35:58 +010012
13DOCTEST_TEST_CASE("SystemProperties")
surmeh0149b9e102018-05-17 14:11:25 +010014{
15 // Test default value
16 {
17 auto p = __system_property_find("thisDoesNotExist");
Mike Kellye2d611e2021-10-14 12:35:58 +010018 DOCTEST_CHECK((p == nullptr));
surmeh0149b9e102018-05-17 14:11:25 +010019
20 int defaultValue = ParseSystemProperty("thisDoesNotExist", -4);
Mike Kellye2d611e2021-10-14 12:35:58 +010021 DOCTEST_CHECK((defaultValue == -4));
surmeh0149b9e102018-05-17 14:11:25 +010022 }
23
24 // Test default value from bad data type
25 {
26 __system_property_set("thisIsNotFloat", "notfloat");
27 float defaultValue = ParseSystemProperty("thisIsNotFloat", 0.1f);
Mike Kellye2d611e2021-10-14 12:35:58 +010028 DOCTEST_CHECK((defaultValue == 0.1f));
surmeh0149b9e102018-05-17 14:11:25 +010029 }
30
31 // Test fetching bool values
32 {
33 __system_property_set("myTestBool", "1");
34 bool b = ParseSystemProperty("myTestBool", false);
Mike Kellye2d611e2021-10-14 12:35:58 +010035 DOCTEST_CHECK((b == true));
surmeh0149b9e102018-05-17 14:11:25 +010036 }
37 {
38 __system_property_set("myTestBool", "0");
39 bool b = ParseSystemProperty("myTestBool", true);
Mike Kellye2d611e2021-10-14 12:35:58 +010040 DOCTEST_CHECK((b == false));
surmeh0149b9e102018-05-17 14:11:25 +010041 }
42
43 // Test fetching int
44 {
45 __system_property_set("myTestInt", "567");
46 int i = ParseSystemProperty("myTestInt", 890);
Mike Kellye2d611e2021-10-14 12:35:58 +010047 DOCTEST_CHECK((i==567));
surmeh0149b9e102018-05-17 14:11:25 +010048 }
49
50 // Test fetching float
51 {
52 __system_property_set("myTestFloat", "1.2f");
53 float f = ParseSystemProperty("myTestFloat", 3.4f);
Mike Kellye2d611e2021-10-14 12:35:58 +010054 DOCTEST_CHECK((f==1.2f));
surmeh0149b9e102018-05-17 14:11:25 +010055 }
56}
57
Sadik Armagan9150bff2021-05-26 15:40:53 +010058}