test: tests for u16_strdup() and u16_strcpy()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 14 Dec 2018 21:00:37 +0000 (22:00 +0100)
committerAlexander Graf <agraf@suse.de>
Wed, 13 Feb 2019 08:40:05 +0000 (09:40 +0100)
Provide unit tests for u16_strdup() and u16_strcpy().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
test/unicode_ut.c

index b115d18afd373cfbef584a1f4792dc9c27237910..84fc9a3b5374d94606859721bf5560768e069931 100644 (file)
@@ -50,6 +50,29 @@ static const char j1[] = {0x6a, 0x31, 0xa1, 0x6c, 0x00};
 static const char j2[] = {0x6a, 0x32, 0xc3, 0xc3, 0x6c, 0x00};
 static const char j3[] = {0x6a, 0x33, 0xf0, 0x90, 0xf0, 0x00};
 
+static int ut_u16_strdup(struct unit_test_state *uts)
+{
+       u16 *copy = u16_strdup(c4);
+
+       ut_assert(copy != c4);
+       ut_assert(!memcmp(copy, c4, sizeof(c4)));
+       free(copy);
+       return 0;
+}
+UNICODE_TEST(ut_u16_strdup);
+
+static int ut_u16_strcpy(struct unit_test_state *uts)
+{
+       u16 *r;
+       u16 copy[10];
+
+       r = u16_strcpy(copy, c1);
+       ut_assert(r == copy);
+       ut_assert(!memcmp(copy, c1, sizeof(c1)));
+       return 0;
+}
+UNICODE_TEST(ut_u16_strcpy);
+
 /* U-Boot uses UTF-16 strings in the EFI context only. */
 #if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD)
 static int ut_string16(struct unit_test_state *uts)