Skip to content
  • Simon McVittie's avatar
    test-utils-glib: Try to emit TAP diagnostics before aborting · 5aca0fc1
    Simon McVittie authored
    We can't use normal I/O in a signal handler, so resort to write().
    
    "Bail out!" is a special syntactic token in TAP. If I artifically force
    the tests to time out by reducing timeouts and increasing the number of
    operations, I get results like this:
    
    ERROR: test-sd-activation - Bail out! Test timed out (GLib main loop timeout callback reached)
    ERROR: test-refs - Bail out! Test timed out (SIGALRM received)
    
    which is a lot easier to understand than "Not enough tests run" or
    "nonzero exit status". The differing output is because test-sd-activation
    iterates the main loop, whereas test-refs just blocks (it is joining a
    series of worker threads, each of which is spamming refcount operations).
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103009
    
    
    Reviewed-by: default avatarPhilip Withnall <withnall@endlessm.com>
    [smcv: Use STDOUT_FILENO as per Philip's review]
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
    5aca0fc1