On 3/24/22 5:19 PM, Kees Cook wrote:
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.
Thanks for the patch. The change look good to me.
Failed SETUP routines continue to not be followed by TEARDOWN, though.
Does this mean failed setup() routines have to handle TEARDOWN? What are guidelines to follow for setup() failures?
Can you add a bit more detail on what you meant by " Failed SETUP routines continue to not be followed by TEARDOWN, though".
With that:
Reviewed-by: Shuah Khan skhan@linuxfoundation.org
thanks, -- Shuah