mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-03 09:46:17 +01:00
tests: Only run g_error_new_valist() programmer error test on Linux
On FreeBSD it always crashes due to the platform’s `vasprintf()` implementation being less forgiving than Linux’s. That’s fine. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
This commit is contained in:
parent
5000193cf3
commit
885d65077e
@ -100,6 +100,12 @@ static void
|
||||
test_new_valist_invalid_va (gpointer dummy,
|
||||
...)
|
||||
{
|
||||
#ifdef __linux__
|
||||
/* Only worth testing this on Linux; if other platforms regress on this legacy
|
||||
* behaviour, we don’t care. In particular, calling g_error_new_valist() with
|
||||
* a %NULL format will crash on FreeBSD as its implementation of vasprintf()
|
||||
* is less forgiving than Linux’s. That’s fine: it’s a programmer error in
|
||||
* either case. */
|
||||
const struct
|
||||
{
|
||||
GQuark domain;
|
||||
@ -119,6 +125,8 @@ test_new_valist_invalid_va (gpointer dummy,
|
||||
GError *error = NULL, *error_copy = NULL;
|
||||
va_list ap;
|
||||
|
||||
g_test_message ("Test %" G_GSIZE_FORMAT, i);
|
||||
|
||||
va_start (ap, dummy);
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
@ -145,6 +153,9 @@ test_new_valist_invalid_va (gpointer dummy,
|
||||
|
||||
va_end (ap);
|
||||
}
|
||||
#else /* if !__linux__ */
|
||||
g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux");
|
||||
#endif /* !__linux__ */
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user