1 // SPDX-License-Identifier: GPL-2.0+
5 * Copyright (c) 2021 Linaro Limited
6 * Author: AKASHI Takahiro
11 #include <dm/test.h> /* DM_TEST() */
12 #include <test/test.h> /* struct unit_test_state */
13 #include <test/ut.h> /* assertions */
16 * Test dm_tag_ptr() API
18 static int dm_test_tag_ptr(struct unit_test_state *uts)
23 ut_assertok(dev_tag_set_ptr(uts->root, DM_TAG_EFI, &val));
25 ut_assertok(dev_tag_get_ptr(uts->root, DM_TAG_EFI, &ptr));
27 ut_asserteq_ptr(&val, ptr);
29 ut_assertok(dev_tag_del(uts->root, DM_TAG_EFI));
34 DM_TEST(dm_test_tag_ptr, 0);
37 * Test dm_tag_val() API
39 static int dm_test_tag_val(struct unit_test_state *uts)
41 ulong val1 = 0x12345678, val2 = 0;
43 ut_assertok(dev_tag_set_val(uts->root, DM_TAG_EFI, val1));
45 ut_assertok(dev_tag_get_val(uts->root, DM_TAG_EFI, &val2));
47 ut_asserteq_64(val1, val2);
49 ut_assertok(dev_tag_del(uts->root, DM_TAG_EFI));
54 DM_TEST(dm_test_tag_val, 0);
57 * Test against an invalid tag
59 static int dm_test_tag_inval(struct unit_test_state *uts)
63 ut_asserteq(-EINVAL, dev_tag_set_ptr(uts->root, DM_TAG_COUNT, &val));
68 DM_TEST(dm_test_tag_inval, 0);
71 * Test dm_tag_del_all() AP:
73 static int dm_test_tag_del_all(struct unit_test_state *uts)
77 ut_assertok(dev_tag_set_ptr(uts->root, DM_TAG_EFI, &val));
79 ut_assertok(dev_tag_del_all(uts->root));
84 DM_TEST(dm_test_tag_del_all, 0);