tests: lib: devicetree: api: test DT_ANY_INST_HAS_BOOL_STATUS_OKAY

Add tests for the new `DT_ANY_INST_HAS_BOOL_STATUS_OKAY` macro.

Signed-off-by: Jordan Yates <jordan@embeint.com>
This commit is contained in:
Jordan Yates 2024-11-28 18:03:26 +10:00 committed by Benjamin Cabé
commit 3a9e693087
3 changed files with 42 additions and 0 deletions

View file

@ -14,3 +14,12 @@ properties:
baz: baz:
type: int type: int
bool-foo:
type: boolean
bool-bar:
type: boolean
bool-baz:
type: boolean

View file

@ -638,18 +638,22 @@
status = "okay"; status = "okay";
foo = <1>; foo = <1>;
bar = <2>; bar = <2>;
bool-foo;
bool-bar;
}; };
device-with-props-1 { device-with-props-1 {
compatible = "vnd,device-with-props"; compatible = "vnd,device-with-props";
status = "okay"; status = "okay";
foo = <2>; foo = <2>;
bool-foo;
}; };
device-with-props-2 { device-with-props-2 {
compatible = "vnd,device-with-props"; compatible = "vnd,device-with-props";
status = "disabled"; status = "disabled";
baz = <1>; baz = <1>;
bool-baz;
}; };
test_string_token_0: string-token-0 { test_string_token_0: string-token-0 {

View file

@ -223,6 +223,35 @@ ZTEST(devicetree_api, test_any_compat_inst_prop)
0, ""); 0, "");
} }
#undef DT_DRV_COMPAT
#define DT_DRV_COMPAT vnd_device_with_props
ZTEST(devicetree_api, test_any_inst_bool)
{
zassert_equal(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_foo), 1, "");
zassert_equal(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_bar), 1, "");
zassert_equal(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_baz), 0, "");
zassert_equal(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(does_not_exist), 0, "");
zassert_equal(COND_CODE_1(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_foo),
(5), (6)),
5, "");
zassert_equal(COND_CODE_0(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_foo),
(5), (6)),
6, "");
zassert_equal(COND_CODE_1(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_baz),
(5), (6)),
6, "");
zassert_equal(COND_CODE_0(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_baz),
(5), (6)),
5, "");
zassert_true(IS_ENABLED(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_foo)), "");
zassert_true(!IS_ENABLED(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_baz)), "");
zassert_equal(IF_ENABLED(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_foo), (1)) + 1,
2, "");
zassert_equal(IF_ENABLED(DT_ANY_INST_HAS_BOOL_STATUS_OKAY(bool_baz), (1)) + 1,
1, "");
}
ZTEST(devicetree_api, test_default_prop_access) ZTEST(devicetree_api, test_default_prop_access)
{ {
/* /*