diff options
author | Thomas Haller <thaller@redhat.com> | 2023-01-17 16:34:49 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-01-19 08:56:20 +0100 |
commit | e435c1b07f980ac3044c62272a71454ef5903d3c (patch) | |
tree | 0b760459fb3a82fceb3d1e1f497122875c4070ff | |
parent | fe99d462ec65143c22484e49c6fea0a8cd89212f (diff) |
glib-aux/tests: add nmtst_keeper_add() test helper
-rw-r--r-- | src/libnm-glib-aux/nm-test-utils.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-test-utils.h b/src/libnm-glib-aux/nm-test-utils.h index 5196c9a076..48ead7e75b 100644 --- a/src/libnm-glib-aux/nm-test-utils.h +++ b/src/libnm-glib-aux/nm-test-utils.h @@ -3069,6 +3069,27 @@ nmtst_ip_address_new(int addr_family, const char *str) /*****************************************************************************/ +static inline gpointer +nmtst_keeper_add(GPtrArray **p_arr, gpointer ptr) +{ + if (!p_arr) { + /* If not GPtrArray in/out argument is given, track the pointer + * via _nmtst_testdata_track_add(), which means it stays alive + * until the end of the test. */ + _nmtst_testdata_track_add(ptr, g_free); + } else { + if (!*p_arr) + *p_arr = g_ptr_array_new_with_free_func(g_free); + + g_ptr_array_add(*p_arr, ptr); + } + return ptr; +} + +#define nmtst_keeper_printf(p_ptr, ...) nmtst_keeper_add((p_ptr), g_strdup_printf(__VA_ARGS__)) + +/*****************************************************************************/ + #define nmtst_gbytes_from_arr(...) \ ({ \ const guint8 _arr[] = {__VA_ARGS__}; \ |