Message ID | 20220715064052.2673958-1-davidgow@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 426752b25377487807455bb2f55c09b01bb6aaf0 |
Headers | show |
Series | [v2] kcsan: test: Add a .kunitconfig to run KCSAN tests | expand |
On Thu, Jul 14, 2022 at 11:41 PM 'David Gow' via KUnit Development <kunit-dev@googlegroups.com> wrote: > > Add a .kunitconfig file, which provides a default, working config for > running the KCSAN tests. Note that it needs to run on an SMP machine, so > to run under kunit_tool, the --qemu_args option should be used (on a > supported architecture, like x86_64). For example: > ./tools/testing/kunit/kunit.py run --arch=x86_64 --qemu_args='-smp 8' > --kunitconfig=kernel/kcsan > > Signed-off-by: David Gow <davidgow@google.com> > Reviewed-by: Marco Elver <elver@google.com> > Acked-by: Brendan Higgins <brendanhiggins@google.com> Tested-by: Daniel Latypov <dlatypov@google.com> Ran it and everything worked as expected. [16:06:34] Testing complete. Ran 141 tests: passed: 140, skipped: 1 [16:06:34] Elapsed time: 70.861s total, 0.002s configuring, 3.519s building, 67.276s running Ran again with --kconfig_add=CONFIG_KCSAN_STRICT=y [16:08:29] Testing complete. Ran 141 tests: passed: 141 [16:08:29] Elapsed time: 83.355s total, 1.557s configuring, 24.188s building, 57.582s running
diff --git a/kernel/kcsan/.kunitconfig b/kernel/kcsan/.kunitconfig new file mode 100644 index 000000000000..e82f0f52ab0a --- /dev/null +++ b/kernel/kcsan/.kunitconfig @@ -0,0 +1,24 @@ +# Note that the KCSAN tests need to run on an SMP setup. +# Under kunit_tool, this can be done by using the --qemu_args +# option to configure a machine with several cores. For example: +# ./tools/testing/kunit/kunit.py run --kunitconfig=kernel/kcsan \ +# --arch=x86_64 --qemu_args="-smp 8" + +CONFIG_KUNIT=y + +CONFIG_DEBUG_KERNEL=y + +# Need some level of concurrency to test a concurrency sanitizer. +CONFIG_SMP=y + +CONFIG_KCSAN=y +CONFIG_KCSAN_KUNIT_TEST=y + +# Set these if you want to run test_barrier_nothreads +#CONFIG_KCSAN_STRICT=y +#CONFIG_KCSAN_WEAK_MEMORY=y + +# This prevents the test from timing out on many setups. Feel free to remove +# (or alter) this, in conjunction with setting a different test timeout with, +# for example, the --timeout kunit_tool option. +CONFIG_KCSAN_REPORT_ONCE_IN_MS=100