support: Add support_record_failure_barrier

This can be used to stop execution after a TEST_COMPARE_BLOB
failure, for example.
This commit is contained in:
Florian Weimer 2024-12-23 13:57:55 +01:00
parent 55618e1396
commit d0b8aa6de4
2 changed files with 13 additions and 0 deletions

View file

@ -207,6 +207,9 @@ void support_record_failure_reset (void);
failures or not. */
int support_record_failure_is_failed (void);
/* Terminate the process if any failures have been encountered so far. */
void support_record_failure_barrier (void);
__END_DECLS
#endif /* SUPPORT_CHECK_H */

View file

@ -112,3 +112,13 @@ support_record_failure_is_failed (void)
synchronization for reliable test error reporting anyway. */
return __atomic_load_n (&state->failed, __ATOMIC_RELAXED);
}
void
support_record_failure_barrier (void)
{
if (__atomic_load_n (&state->failed, __ATOMIC_RELAXED))
{
puts ("error: exiting due to previous errors");
exit (1);
}
}