mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 06:00:32 +01:00
nmtst: improve test macros FAIL() and ASSERT()
Fail only printed a message to stderr and exited. Instead, print it with g_error(), which also breaks in the debugger and produces a core-dump. Also, it constructed the message based on an unchecked format string and constructed a format string dynamically. Just don't do that. Also add a comment that these macros are discouraged because they are cumbersome to write (requiring a test-name and a failure message).
This commit is contained in:
parent
c510323368
commit
123747963a
1 changed files with 11 additions and 17 deletions
|
|
@ -962,25 +962,19 @@ _nmtst_assert_ip6_address (const char *file, int line, const struct in6_addr *ad
|
|||
}
|
||||
#define nmtst_assert_ip6_address(addr, str_expected) _nmtst_assert_ip6_address (__FILE__, __LINE__, addr, str_expected)
|
||||
|
||||
inline static void
|
||||
FAIL(const char *test_name, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
char buf[500];
|
||||
|
||||
g_snprintf (buf, 500, "FAIL: (%s) %s\n", test_name, fmt);
|
||||
|
||||
va_start (args, fmt);
|
||||
vfprintf (stderr, buf, args);
|
||||
va_end (args);
|
||||
_exit (1);
|
||||
}
|
||||
/* Deprecated: don't use this overly verbose macro. */
|
||||
#define FAIL(test_name, fmt, ...) \
|
||||
G_STMT_START { \
|
||||
g_error ("%s:%d: FAIL[%s]: " fmt, __FILE__, __LINE__, test_name, ## __VA_ARGS__); \
|
||||
} G_STMT_END
|
||||
|
||||
/* Deprecated: don't use this overly verbose macro. */
|
||||
#define ASSERT(x, test_name, fmt, ...) \
|
||||
if (!(x)) { \
|
||||
FAIL (test_name, fmt, ## __VA_ARGS__); \
|
||||
}
|
||||
|
||||
G_STMT_START { \
|
||||
if (!(x)) { \
|
||||
FAIL (test_name, fmt, ## __VA_ARGS__); \
|
||||
} \
|
||||
} G_STMT_END
|
||||
|
||||
#define nmtst_spawn_sync(working_directory, standard_out, standard_err, assert_exit_status, ...) \
|
||||
__nmtst_spawn_sync (working_directory, standard_out, standard_err, assert_exit_status, ##__VA_ARGS__, NULL)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue