diff options
author | Thomas Haller <thaller@redhat.com> | 2016-09-26 16:59:30 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-09-26 17:00:38 +0200 |
commit | ee860696010c530b66a5d39ad0be3944184770d5 (patch) | |
tree | aaea2394636b31b2a6478f9a26c4b0cc39077425 /libnm-core | |
parent | d27ae4a8fec0c8f21a7171e01535f8beb8e5b105 (diff) | |
download | NetworkManager-ee860696010c530b66a5d39ad0be3944184770d5.tar.gz |
shared: add test for NM_SET_OUT()
Diffstat (limited to 'libnm-core')
-rw-r--r-- | libnm-core/tests/test-general.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c index e71dd8bc56..e8a9404bf3 100644 --- a/libnm-core/tests/test-general.c +++ b/libnm-core/tests/test-general.c @@ -5399,6 +5399,36 @@ test_nm_in_strset (void) /******************************************************************************/ +static gboolean +do_test_nm_set_out_called (gint *call_count) +{ + (*call_count)++; + return TRUE; +} + +static void +test_nm_set_out (void) +{ + gboolean val; + gboolean *p_val; + int call_count; + + /* NM_SET_OUT() has an unexpected non-function like behavior + * wrt. side-effects of the value argument. Test it */ + + p_val = &val; + call_count = 0; + NM_SET_OUT (p_val, do_test_nm_set_out_called (&call_count)); + g_assert_cmpint (call_count, ==, 1); + + p_val = NULL; + call_count = 0; + NM_SET_OUT (p_val, do_test_nm_set_out_called (&call_count)); + g_assert_cmpint (call_count, ==, 0); +} + +/******************************************************************************/ + NMTST_DEFINE (); int main (int argc, char **argv) @@ -5521,6 +5551,7 @@ int main (int argc, char **argv) g_test_add_func ("/core/general/_nm_utils_validate_json", test_nm_utils_check_valid_json); g_test_add_func ("/core/general/_nm_utils_team_config_equal", test_nm_utils_team_config_equal); g_test_add_func ("/core/general/test_nm_utils_enum", test_nm_utils_enum); + g_test_add_func ("/core/general/nm-set-out", test_nm_set_out); return g_test_run (); } |