summaryrefslogtreecommitdiff
path: root/tests/lib/ux_locales-test.c
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@chromium.org>2024-02-20 11:29:47 +0800
committerYu-Ping Wu <yupingso@google.com>2024-02-22 08:05:23 +0000
commit599b340b5ecc18069cae12b66766dc08e23d2060 (patch)
treef7461353d27737ee0e0cb3a45111384d24ba1867 /tests/lib/ux_locales-test.c
parentbba6a21625a744899581364a627e3ffd6d6cda5b (diff)
tests/lib/ux_locales-test: Simplify macros
The cmocka problem of sanitizing XML strings has been fixed in CB:80382. Therefore the helper macros UX_LOCALES_GET_TEXT_FOUND_TEST() and UX_LOCALES_GET_TEXT_NOT_FOUND_TEST() can be merged into one. TEST=make unit-tests JUNIT_OUTPUT=y -j Change-Id: Ic3199e2a061550282fb08122943994c835845543 Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80621 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Hsuan-ting Chen <roccochen@google.com>
Diffstat (limited to 'tests/lib/ux_locales-test.c')
-rw-r--r--tests/lib/ux_locales-test.c56
1 files changed, 15 insertions, 41 deletions
diff --git a/tests/lib/ux_locales-test.c b/tests/lib/ux_locales-test.c
index d5eeef707c..5fe18e773c 100644
--- a/tests/lib/ux_locales-test.c
+++ b/tests/lib/ux_locales-test.c
@@ -184,65 +184,39 @@ static void test_ux_locales_null_terminated(void **state)
* If `_expect` is NULL, then the function should not find anything.
* Otherwise, the function should find the corresponding expect value.
*/
-#define _UX_LOCALES_GET_TEXT_TEST(_test_name, _name, _lang_id, _expect) \
+#define UX_LOCALES_GET_TEXT_TEST(_name, _lang_id, _expect) \
((struct CMUnitTest) { \
- .name = _test_name, \
+ .name = "test_ux_locales_get_text(name=" _name ", lang_id=" #_lang_id \
+ ", expect=" #_expect ")", \
.test_func = test_ux_locales_get_text, \
.setup_func = setup_default, \
.teardown_func = teardown_unmap, \
- .initial_state = &(struct ux_locales_test_state) \
- { \
- .name = _name, \
- .lang_id = _lang_id, \
- .expect = _expect, \
- }, \
+ .initial_state = &(struct ux_locales_test_state) { \
+ .name = _name, \
+ .lang_id = _lang_id, \
+ .expect = _expect, \
+ }, \
})
-/*
- * When exporting test results to xml files, cmocka doesn't escape double quotes for test names.
- * Therefore, double quotes in CMUnitTest.name will lead to invalid xml files, causing build
- * failure (with JUNIT_OUTPUT=y). As a result, we can only use _expect for CMUnitTest.name in
- * the macro, but not #_expect.
- */
-#define UX_LOCALES_GET_TEXT_FOUND_TEST(_name, _lang_id, _expect) \
- (_UX_LOCALES_GET_TEXT_TEST \
- ( \
- ( \
- "test_ux_locales_get_text_found(name=" _name \
- ", lang_id=" #_lang_id ", expect=" _expect ")" \
- ), \
- _name, _lang_id, _expect \
- ))
-
-#define UX_LOCALES_GET_TEXT_NOT_FOUND_TEST(_name, _lang_id) \
- (_UX_LOCALES_GET_TEXT_TEST \
- ( \
- ( \
- "test_ux_locales_get_text_not_found(name=" _name \
- ", lang_id=" #_lang_id ")" \
- ), \
- _name, _lang_id, NULL \
- ))
-
int main(void)
{
const struct CMUnitTest tests[] = {
/* Get text successfully. */
- UX_LOCALES_GET_TEXT_FOUND_TEST("name_1", 0, "translation_1_0"),
+ UX_LOCALES_GET_TEXT_TEST("name_1", 0, "translation_1_0"),
/* Get text with name and id both in the middle. */
- UX_LOCALES_GET_TEXT_FOUND_TEST("name_15", 25, "translation_15_25"),
+ UX_LOCALES_GET_TEXT_TEST("name_15", 25, "translation_15_25"),
/* Ensure we check the whole string of 'name'.
('name_2' is the prefix of 'name_20') */
- UX_LOCALES_GET_TEXT_NOT_FOUND_TEST("name_2", 3),
+ UX_LOCALES_GET_TEXT_TEST("name_2", 3, NULL),
/* Ensure we check the whole string of 'lang_id'.
(id:'2' is the prefix of id:'25' in 'name_15') */
- UX_LOCALES_GET_TEXT_NOT_FOUND_TEST("name_15", 2),
+ UX_LOCALES_GET_TEXT_TEST("name_15", 2, NULL),
/* Ensure we will fallback to 0. */
- UX_LOCALES_GET_TEXT_FOUND_TEST("name_1", 7, "translation_1_0"),
+ UX_LOCALES_GET_TEXT_TEST("name_1", 7, "translation_1_0"),
/* Do not search for locale id with unmatched name. */
- UX_LOCALES_GET_TEXT_NOT_FOUND_TEST("name_15", 8),
+ UX_LOCALES_GET_TEXT_TEST("name_15", 8, NULL),
/* Validity check of lang_id > 100. We will fallback to 0. */
- UX_LOCALES_GET_TEXT_FOUND_TEST("name_1", 100, "translation_1_0"),
+ UX_LOCALES_GET_TEXT_TEST("name_1", 100, "translation_1_0"),
/* cbfs not found. */
cmocka_unit_test_setup_teardown(test_ux_locales_bad_cbfs, setup_default,
teardown_unmap),