On Tue, 9 Feb 2021, Daniel Latypov wrote: > On Tue, Feb 9, 2021 at 9:26 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: > > > > On Fri, 5 Feb 2021, Daniel Latypov wrote: > > > > > From: Uriel Guajardo <urielguajardo@xxxxxxxxxx> > > > > > > Add a kunit_fail_current_test() function to fail the currently running > > > test, if any, with an error message. > > > > > > This is largely intended for dynamic analysis tools like UBSAN and for > > > fakes. > > > E.g. say I had a fake ops struct for testing and I wanted my `free` > > > function to complain if it was called with an invalid argument, or > > > caught a double-free. Most return void and have no normal means of > > > signalling failure (e.g. super_operations, iommu_ops, etc.). > > > > > > Key points: > > > * Always update current->kunit_test so anyone can use it. > > > * commit 83c4e7a0363b ("KUnit: KASAN Integration") only updated it for > > > CONFIG_KASAN=y > > > > > > * Create a new header <kunit/test-bug.h> so non-test code doesn't have > > > to include all of <kunit/test.h> (e.g. lib/ubsan.c) > > > > > > * Forward the file and line number to make it easier to track down > > > failures > > > > > > > Thanks for doing this! > > > > > * Declare it as a function for nice __printf() warnings about mismatched > > > format strings even when KUnit is not enabled. > > > > > > > One thing I _think_ this assumes is that KUnit is builtin; > > don't we need an > > Ah, you're correct. > Also going to rename it to have two _ to match other functions used in > macros like __kunit_test_suites_init. > Great! If you're sending out an updated version with these changes, feel free to add Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx>