+// Make our tests fully reproducible despite the subtle differences of strsignal() across archs
+static const char* signal_name(int status)
+{
+ switch (WTERMSIG(status)) {
+ case SIGABRT: // FreeBSD uses "Abort trap" as a strsignal for SIGABRT
+ return "Aborted";
+ case SIGSEGV: // MacOSX uses "Segmentation fault: 11" for SIGKILL
+ return "Segmentation fault";
+ default:
+ return strsignal(WTERMSIG(status));
+ }
+}