linux/tools/testing
Kees Cook 63e6b2a423 selftests/harness: Run TEARDOWN for ASSERT failures
The kselftest test harness has traditionally not run the registered
TEARDOWN handler when a test encountered an ASSERT. This creates
unexpected situations and tests need to be very careful about using
ASSERT, which seems a needless hurdle for test writers.

Because of the harness's design for optional failure handlers, the
original implementation of ASSERT used an abort() to immediately
stop execution, but that meant the context for running teardown was
lost. Instead, use setjmp/longjmp so that teardown can be done.

Failed SETUP routines continue to not be followed by TEARDOWN, though.

Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Will Drewry <wad@chromium.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: linux-kselftest@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2022-04-04 13:37:37 -06:00
..
cxl tools/testing/cxl: Add a physical_node link 2022-02-08 22:57:33 -08:00
fault-injection
ktest bootconfig/tracing/ktest: Update ktest example for boot-time tracing 2021-08-16 11:39:51 -04:00
kunit linux-kselftest-kunit-5.18-rc1 2022-03-23 12:56:39 -07:00
memblock memblock tests: Add TODO and README files 2022-03-10 12:19:44 +02:00
nvdimm nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
radix-tree tools: Move gfp.h and slab.h from radix-tree to lib 2022-02-20 08:44:37 +02:00
scatterlist tools/testing/scatterlist: add missing defines 2022-01-30 09:56:58 +02:00
selftests selftests/harness: Run TEARDOWN for ASSERT failures 2022-04-04 13:37:37 -06:00
vsock af_vsock: SOCK_SEQPACKET broken buffer test 2022-03-18 15:13:19 +00:00