Re: [PATCH v2] kunit: fix failure to build without printk

From: shuah
Date: Thu Aug 29 2019 - 13:01:28 EST

On 8/28/19 3:49 AM, Sergey Senozhatsky wrote:
On (08/28/19 02:31), Brendan Higgins wrote:
Previously KUnit assumed that printk would always be present, which is
not a valid assumption to make. Fix that by removing call to
vprintk_emit, and calling printk directly.

Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Sergey Senozhatsky <>
Signed-off-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>


-static void kunit_vprintk(const struct kunit *test,
- const char *level,
- struct va_format *vaf)
- kunit_printk_emit(level[1] - '0', "\t# %s: %pV", test->name, vaf);

This patch looks good to me. I like the removal of recursive
vsprintf() (%pV).


Hi Sergey,

What are the guidelines for using printk(). I recall some discussion
about not using printk(). I am seeing the following from checkpatch

WARNING: Prefer [subsystem eg: netdev]_level([subsystem]dev, ... then dev_level(dev, ... then pr_level(... to printk(KERN_LEVEL ...
#105: FILE: include/kunit/test.h:343:
+ printk(KERN_LEVEL "\t# %s: " fmt, (test)->name, ##__VA_ARGS__)

Is there supposed to be pr_level() - I can find dev_level()

cc'ing Joe Perches for his feedback on this message recommending
pr_level() which isn't in 5.3.

-- Shuah

-- Shuah