diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-27 19:52:31 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-27 19:52:31 -0400 |
commit | 5f6990d4ccf3157aaa0d722c371b2ec4939380a9 (patch) | |
tree | bfe31e33f1b6769a1a35d0ac9e4d8ac2b0b37507 | |
parent | fe92f11a510e84443a0e194f2e4a97d59371f536 (diff) |
qemu-wrapper: Print test name when failing due to timeout
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | lib/qemu-wrapper.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/lib/qemu-wrapper.c b/lib/qemu-wrapper.c index 4c3b6f1..9d4b99e 100644 --- a/lib/qemu-wrapper.c +++ b/lib/qemu-wrapper.c @@ -21,15 +21,34 @@ do { \ exit(EXIT_FAILURE); \ } while (0) +static char *mprintf(const char *fmt, ...) +{ + va_list args; + char *str; + int ret; + + va_start(args, fmt); + ret = vasprintf(&str, fmt, args); + va_end(args); + + if (ret < 0) + die("insufficient memory"); + + return str; +} + static pid_t child; static int childfd; +static const char *testname; static void alarm_handler(int sig) { - char msg[] = "TEST FAILED (timed out)\n"; + char *msg = mprintf("========= FAILED TIMEOUT %s", + testname ?: "(no test"); if (write(childfd, msg, strlen(msg)) != strlen(msg)) die("write error in alarm handler"); + free(msg); } static void usage(void) @@ -46,22 +65,6 @@ static void usage(void) " -h Display this help and exit\n"); } -static char *mprintf(const char *fmt, ...) -{ - va_list args; - char *str; - int ret; - - va_start(args, fmt); - ret = vasprintf(&str, fmt, args); - va_end(args); - - if (ret < 0) - die("insufficient memory"); - - return str; -} - static char *log_path(const char *logdir, const char *basename, const char *testname) { if (!basename) @@ -241,11 +244,12 @@ again: update_watchdog(line); - const char *testname = test_starts(line); + testname = test_starts(line); if (test_logfile && testname) { fclose(test_logfile); test_logfile = NULL; + testname = NULL; } if (test_logfile) |