Loading lib/test-string_helpers.c +67 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,28 @@ static const struct test_string_2 escape1[] __initconst = {{ /* terminator */ }}; static const struct test_string strings_upper[] __initconst = { { .in = "abcdefgh1234567890test", .out = "ABCDEFGH1234567890TEST", }, { .in = "abCdeFgH1234567890TesT", .out = "ABCDEFGH1234567890TEST", }, }; static const struct test_string strings_lower[] __initconst = { { .in = "ABCDEFGH1234567890TEST", .out = "abcdefgh1234567890test", }, { .in = "abCdeFgH1234567890TesT", .out = "abcdefgh1234567890test", }, }; static __init const char *test_string_find_match(const struct test_string_2 *s2, unsigned int flags) { Loading Loading @@ -390,6 +412,48 @@ static __init void test_string_get_size(void) test_string_get_size_one(4096, U64_MAX, "75.6 ZB", "64.0 ZiB"); } static void __init test_string_upper_lower(void) { char *dst; int i; for (i = 0; i < ARRAY_SIZE(strings_upper); i++) { const char *s = strings_upper[i].in; int len = strlen(strings_upper[i].in) + 1; dst = kmalloc(len, GFP_KERNEL); if (!dst) return; string_upper(dst, s); if (memcmp(dst, strings_upper[i].out, len)) { pr_warn("Test 'string_upper' failed : expected %s, got %s!\n", strings_upper[i].out, dst); kfree(dst); return; } kfree(dst); } for (i = 0; i < ARRAY_SIZE(strings_lower); i++) { const char *s = strings_lower[i].in; int len = strlen(strings_lower[i].in) + 1; dst = kmalloc(len, GFP_KERNEL); if (!dst) return; string_lower(dst, s); if (memcmp(dst, strings_lower[i].out, len)) { pr_warn("Test 'string_lower failed : : expected %s, got %s!\n", strings_lower[i].out, dst); kfree(dst); return; } kfree(dst); } } static int __init test_string_helpers_init(void) { unsigned int i; Loading @@ -411,6 +475,9 @@ static int __init test_string_helpers_init(void) /* Test string_get_size() */ test_string_get_size(); /* Test string upper(), string_lower() */ test_string_upper_lower(); return -EINVAL; } module_init(test_string_helpers_init); Loading Loading
lib/test-string_helpers.c +67 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,28 @@ static const struct test_string_2 escape1[] __initconst = {{ /* terminator */ }}; static const struct test_string strings_upper[] __initconst = { { .in = "abcdefgh1234567890test", .out = "ABCDEFGH1234567890TEST", }, { .in = "abCdeFgH1234567890TesT", .out = "ABCDEFGH1234567890TEST", }, }; static const struct test_string strings_lower[] __initconst = { { .in = "ABCDEFGH1234567890TEST", .out = "abcdefgh1234567890test", }, { .in = "abCdeFgH1234567890TesT", .out = "abcdefgh1234567890test", }, }; static __init const char *test_string_find_match(const struct test_string_2 *s2, unsigned int flags) { Loading Loading @@ -390,6 +412,48 @@ static __init void test_string_get_size(void) test_string_get_size_one(4096, U64_MAX, "75.6 ZB", "64.0 ZiB"); } static void __init test_string_upper_lower(void) { char *dst; int i; for (i = 0; i < ARRAY_SIZE(strings_upper); i++) { const char *s = strings_upper[i].in; int len = strlen(strings_upper[i].in) + 1; dst = kmalloc(len, GFP_KERNEL); if (!dst) return; string_upper(dst, s); if (memcmp(dst, strings_upper[i].out, len)) { pr_warn("Test 'string_upper' failed : expected %s, got %s!\n", strings_upper[i].out, dst); kfree(dst); return; } kfree(dst); } for (i = 0; i < ARRAY_SIZE(strings_lower); i++) { const char *s = strings_lower[i].in; int len = strlen(strings_lower[i].in) + 1; dst = kmalloc(len, GFP_KERNEL); if (!dst) return; string_lower(dst, s); if (memcmp(dst, strings_lower[i].out, len)) { pr_warn("Test 'string_lower failed : : expected %s, got %s!\n", strings_lower[i].out, dst); kfree(dst); return; } kfree(dst); } } static int __init test_string_helpers_init(void) { unsigned int i; Loading @@ -411,6 +475,9 @@ static int __init test_string_helpers_init(void) /* Test string_get_size() */ test_string_get_size(); /* Test string upper(), string_lower() */ test_string_upper_lower(); return -EINVAL; } module_init(test_string_helpers_init); Loading