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

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

View file

@ -223,6 +223,35 @@ ZTEST(devicetree_api, test_any_compat_inst_prop)
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)
{
/*