From: Vitaly Kuznetsov Date: Wed, 21 Oct 2015 22:03:52 +0000 (+1100) Subject: lib-test-string_helpersc-add-string_get_size-tests-v5 X-Git-Tag: KARO-TX6UL-2015-11-03~14^2~49 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cbb30a5056e3dd2a49ae8ba8a43fed4f7597beb7;p=karo-tx-linux.git lib-test-string_helpersc-add-string_get_size-tests-v5 - Single quotes in pr_warn() to see empty strings [Andy Shevchenko]. - Check for test validity compile-time [Rasmus Villemoes, Andy Shevchenko]. - All __test_string_get_size() arguments are const. Signed-off-by: Vitaly Kuznetsov Cc: James Bottomley Cc: Andy Shevchenko Cc: Rasmus Villemoes Cc: "K. Y. Srinivasan" Signed-off-by: Andrew Morton --- diff --git a/lib/test-string_helpers.c b/lib/test-string_helpers.c index ee67adab1346..98866a770770 100644 --- a/lib/test-string_helpers.c +++ b/lib/test-string_helpers.c @@ -326,21 +326,30 @@ out: kfree(out_test); } -static __init void test_string_get_size_one(u64 size, u64 blk_size, - const enum string_size_units units, - const char *exp_result) +#define string_get_size_maxbuf 16 +#define test_string_get_size_one(size, blk_size, units, exp_result) \ + do { \ + BUILD_BUG_ON(sizeof(exp_result) >= string_get_size_maxbuf); \ + __test_string_get_size((size), (blk_size), (units), \ + (exp_result)); \ + } while (0) + + +static __init void __test_string_get_size(const u64 size, const u64 blk_size, + const enum string_size_units units, + const char *exp_result) { - char buf[256]; + char buf[string_get_size_maxbuf]; string_get_size(size, blk_size, units, buf, sizeof(buf)); - if (!strncmp(buf, exp_result, min(sizeof(buf), strlen(exp_result)))) + if (!memcmp(buf, exp_result, strlen(exp_result) + 1)) return; + buf[sizeof(buf) - 1] = '\0'; pr_warn("Test 'test_string_get_size_one' failed!\n"); pr_warn("string_get_size(size = %llu, blk_size = %llu, units = %d\n", size, blk_size, units); - pr_warn("expected: %s, got %s\n", exp_result, buf); - + pr_warn("expected: '%s', got '%s'\n", exp_result, buf); } static __init void test_string_get_size(void)