]>
Commit | Line | Data |
---|---|---|
8ff50227 AT |
1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* | |
3 | * DM tag test | |
4 | * | |
5 | * Copyright (c) 2021 Linaro Limited | |
6 | * Author: AKASHI Takahiro | |
7 | */ | |
8 | ||
9 | #include <common.h> | |
10 | #include <dm/tag.h> | |
11 | #include <dm/test.h> /* DM_TEST() */ | |
12 | #include <test/test.h> /* struct unit_test_state */ | |
13 | #include <test/ut.h> /* assertions */ | |
14 | ||
15 | /* | |
16 | * Test dm_tag_ptr() API | |
17 | */ | |
18 | static int dm_test_tag_ptr(struct unit_test_state *uts) | |
19 | { | |
20 | ulong val; | |
21 | void *ptr = NULL; | |
22 | ||
23 | ut_assertok(dev_tag_set_ptr(uts->root, DM_TAG_EFI, &val)); | |
24 | ||
25 | ut_assertok(dev_tag_get_ptr(uts->root, DM_TAG_EFI, &ptr)); | |
26 | ||
27 | ut_asserteq_ptr(&val, ptr); | |
28 | ||
29 | ut_assertok(dev_tag_del(uts->root, DM_TAG_EFI)); | |
30 | ||
31 | return 0; | |
32 | } | |
33 | ||
34 | DM_TEST(dm_test_tag_ptr, 0); | |
35 | ||
36 | /* | |
37 | * Test dm_tag_val() API | |
38 | */ | |
39 | static int dm_test_tag_val(struct unit_test_state *uts) | |
40 | { | |
41 | ulong val1 = 0x12345678, val2 = 0; | |
42 | ||
43 | ut_assertok(dev_tag_set_val(uts->root, DM_TAG_EFI, val1)); | |
44 | ||
45 | ut_assertok(dev_tag_get_val(uts->root, DM_TAG_EFI, &val2)); | |
46 | ||
47 | ut_asserteq_64(val1, val2); | |
48 | ||
49 | ut_assertok(dev_tag_del(uts->root, DM_TAG_EFI)); | |
50 | ||
51 | return 0; | |
52 | } | |
53 | ||
54 | DM_TEST(dm_test_tag_val, 0); | |
55 | ||
56 | /* | |
57 | * Test against an invalid tag | |
58 | */ | |
59 | static int dm_test_tag_inval(struct unit_test_state *uts) | |
60 | { | |
61 | ulong val; | |
62 | ||
63 | ut_asserteq(-EINVAL, dev_tag_set_ptr(uts->root, DM_TAG_COUNT, &val)); | |
64 | ||
65 | return 0; | |
66 | } | |
67 | ||
68 | DM_TEST(dm_test_tag_inval, 0); | |
69 | ||
70 | /* | |
71 | * Test dm_tag_del_all() AP: | |
72 | */ | |
73 | static int dm_test_tag_del_all(struct unit_test_state *uts) | |
74 | { | |
75 | ulong val; | |
76 | ||
77 | ut_assertok(dev_tag_set_ptr(uts->root, DM_TAG_EFI, &val)); | |
78 | ||
79 | ut_assertok(dev_tag_del_all(uts->root)); | |
80 | ||
81 | return 0; | |
82 | } | |
83 | ||
84 | DM_TEST(dm_test_tag_del_all, 0); |