44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
commit 71ddb11ccd76843cec6e793977218e227fe51c07
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Mon Dec 23 13:57:55 2024 +0100
|
|
|
|
support: Add support_record_failure_barrier
|
|
|
|
This can be used to stop execution after a TEST_COMPARE_BLOB
|
|
failure, for example.
|
|
|
|
(cherry picked from commit d0b8aa6de4529231fadfe604ac2c434e559c2d9e)
|
|
|
|
diff --git a/support/check.h b/support/check.h
|
|
index 7ea22c7a2cba5cfd..8f41e5b99fc17472 100644
|
|
--- a/support/check.h
|
|
+++ b/support/check.h
|
|
@@ -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 */
|
|
diff --git a/support/support_record_failure.c b/support/support_record_failure.c
|
|
index 978123701d128795..72ee2b232fb2b08c 100644
|
|
--- a/support/support_record_failure.c
|
|
+++ b/support/support_record_failure.c
|
|
@@ -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);
|
|
+ }
|
|
+}
|