support: Add support_record_failure_barrier

Message ID 87ldxfqsg4.fsf@oldenburg.str.redhat.com
State New
Headers
Series support: Add support_record_failure_barrier |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Build passed
redhat-pt-bot/TryBot-32bit success Build for i686
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Test passed

Commit Message

Florian Weimer Nov. 19, 2024, 1:11 p.m. UTC
  This can be used to stop execution after a TEST_COMPARE_BLOB
failure, for example.

---
 support/check.h                  |  3 +++
 support/support_record_failure.c | 10 ++++++++++
 2 files changed, 13 insertions(+)


base-commit: 7f045c0b48633b198b42bebdff0024d7cfab3901
  

Patch

diff --git a/support/check.h b/support/check.h
index 7ea22c7a2c..8f41e5b99f 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 978123701d..72ee2b232f 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);
+    }
+}