On Tue, Feb 9, 2021 at 2:12 PM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: > > 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> Oops, there was a race in sending v3 and seeing this in my inbox. If you could reply to the v3 that'd be great. I've already amended the commit locally. Thanks!