Messages in this thread Patch in this message | | | From | Petr Mladek <> | Subject | [PATCH 2/3] lib/test_printf: Fix structure of basic pointer tests | Date | Thu, 27 Feb 2020 14:01:22 +0100 |
| |
The pointer formatting tests have been originally split by the %p modifiers. For example, the function dentry() tested %pd and %pD handling.
There were recently added tests that do not fit into the existing structure, namely:
+ hashed pointer testing + null and invalid pointer handling with various modifiers
Reshuffle these tests to follow the original structure.
For completeness, add a test for "%px" with some "random" pointer value. Note that it can't be tested with "%pE" because it would cause crash.
Signed-off-by: Petr Mladek <pmladek@suse.com> --- lib/test_printf.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-)
diff --git a/lib/test_printf.c b/lib/test_printf.c index 6fa6fb606554..1ee1bb703307 100644 --- a/lib/test_printf.c +++ b/lib/test_printf.c @@ -278,28 +278,22 @@ test_hashed(const char *fmt, const void *p) failed_tests++; } -static void __init -plain(void) -{ - test_hashed("%p", PTR); -} +#define PTR_INVALID ((void *)0x000000ab) static void __init -null_pointer(void) +plain_pointer(void) { + test_hashed("%p", PTR); test_hashed("%p", NULL); - test(ZEROS "00000000", "%px", NULL); - test("(null)", "%pE", NULL); + test_hashed("%p", PTR_INVALID); } -#define PTR_INVALID ((void *)0x000000ab) - static void __init -invalid_pointer(void) +real_pointer(void) { - test_hashed("%p", PTR_INVALID); + test(PTR_STR, "%px", PTR); + test(ZEROS "00000000", "%px", NULL); test(ZEROS "000000ab", "%px", PTR_INVALID); - test("(efault)", "%pE", PTR_INVALID); } static void __init @@ -326,6 +320,8 @@ addr(void) static void __init escaped_str(void) { + test("(null)", "%pE", NULL); + test("(efault)", "%pE", PTR_INVALID); } static void __init @@ -601,9 +597,8 @@ errptr(void) static void __init test_pointer(void) { - plain(); - null_pointer(); - invalid_pointer(); + plain_pointer(); + real_pointer(); symbol_ptr(); kernel_ptr(); struct_resource(); -- 2.16.4
| |