diff options
| author | Michael Biebl <biebl@debian.org> | 2021-10-01 23:05:04 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-10-01 23:05:04 +0200 |
| commit | e74c568b07b50b97873fb4ee1d776dedefbd54d6 (patch) | |
| tree | 3469f17ea9af91f7ff169b890633bda68b0cf76e /clients/cloud-setup/tests/test-cloud-setup-general.c | |
| parent | bfe522304da217296e2a61040f58e35ec5d6f3f2 (diff) | |
New upstream version 1.32.12 upstream/1.32.12
Diffstat (limited to 'clients/cloud-setup/tests/test-cloud-setup-general.c')
| -rw-r--r-- | clients/cloud-setup/tests/test-cloud-setup-general.c | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/clients/cloud-setup/tests/test-cloud-setup-general.c b/clients/cloud-setup/tests/test-cloud-setup-general.c deleted file mode 100644 index 63f3c13d..00000000 --- a/clients/cloud-setup/tests/test-cloud-setup-general.c +++ /dev/null @@ -1,117 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#include "libnm/nm-default-client.h" - -#include "nm-cloud-setup-utils.h" -#include "nm-libnm-core-intern/nm-libnm-core-utils.h" - -#include "nm-utils/nm-test-utils.h" - -/*****************************************************************************/ - -static NMSettingIPConfig * -_ri4a_new_s_ip(const char *const *addrs) -{ - NMSettingIPConfig *s_ip; - - s_ip = NM_SETTING_IP_CONFIG(nm_setting_ip4_config_new()); - - for (; addrs && addrs[0]; addrs++) { - nm_auto_unref_ip_address NMIPAddress *a = nmtst_ip_address_new(AF_INET, addrs[0]); - - nm_setting_ip_config_add_address(s_ip, a); - } - return s_ip; -} - -static GPtrArray * -_ri4a_new_arr(const char *const *addrs) -{ - GPtrArray *arr; - - arr = g_ptr_array_new_with_free_func((GDestroyNotify) nm_ip_address_unref); - - for (; addrs && addrs[0]; addrs++) - g_ptr_array_add(arr, nmtst_ip_address_new(AF_INET, addrs[0])); - - return arr; -} - -static void -_test_ri4a(const char *const *addrs_before, const char *const *addrs_new) -{ - gs_unref_object NMSettingIPConfig *s_ip = NULL; - gs_unref_ptrarray GPtrArray *arr = NULL; - const gsize n = NM_PTRARRAY_LEN(addrs_new); - gboolean changed; - gsize i; - - s_ip = _ri4a_new_s_ip(addrs_before); - arr = _ri4a_new_arr(addrs_new); - - g_assert_cmpint(nm_setting_ip_config_get_num_addresses(s_ip), - ==, - NM_PTRARRAY_LEN(addrs_before)); - g_assert_cmpint(arr->len, ==, n); - - changed = nmcs_setting_ip_replace_ipv4_addresses(s_ip, (NMIPAddress **) arr->pdata, arr->len); - - g_assert_cmpint(changed, !=, nm_utils_strv_equal(addrs_before, addrs_new)); - g_assert_cmpint(nm_setting_ip_config_get_num_addresses(s_ip), ==, n); - - for (i = 0; i < n; i++) { - NMIPAddress *a = arr->pdata[i]; - NMIPAddress *b = nm_setting_ip_config_get_address(s_ip, i); - - if (nmtst_get_rand_bool()) - NM_SWAP(&a, &b); - - g_assert(nm_ip_address_cmp_full(a, b, NM_IP_ADDRESS_CMP_FLAGS_WITH_ATTRS) == 0); - } -} - -static void -test_replace_ipv4_addresses(void) -{ - const char *const *const LISTS[] = { - NM_MAKE_STRV(), - NM_MAKE_STRV("192.168.5.1/24"), - NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24"), - NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24", "192.168.5.3/24"), - NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24", "192.168.5.3/24", "192.168.5.4/24"), - }; - int i_run; - - for (i_run = 0; i_run < 20; i_run++) { - gs_free const char **addrs_before = NULL; - gs_free const char **addrs_new = NULL; - - addrs_before = nmtst_rand_perm_strv(LISTS[nmtst_get_rand_uint32() % G_N_ELEMENTS(LISTS)]); - addrs_new = nmtst_rand_perm_strv(LISTS[nmtst_get_rand_uint32() % G_N_ELEMENTS(LISTS)]); - - _test_ri4a(addrs_before, addrs_new); - } - - _test_ri4a(NM_MAKE_STRV(), NM_MAKE_STRV()); - _test_ri4a(NM_MAKE_STRV(), NM_MAKE_STRV("192.168.5.1/24")); - _test_ri4a(NM_MAKE_STRV(), NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24")); - _test_ri4a(NM_MAKE_STRV("192.168.5.1/24"), NM_MAKE_STRV()); - _test_ri4a(NM_MAKE_STRV("192.168.5.1/24"), NM_MAKE_STRV("192.168.5.1/24")); - _test_ri4a(NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24"), NM_MAKE_STRV()); - _test_ri4a(NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24"), NM_MAKE_STRV("192.168.5.1/24")); - _test_ri4a(NM_MAKE_STRV("192.168.5.1/24", "192.168.5.2/24"), NM_MAKE_STRV("192.168.5.2/24")); -} - -/*****************************************************************************/ - -NMTST_DEFINE(); - -int -main(int argc, char **argv) -{ - nmtst_init(&argc, &argv, TRUE); - - g_test_add_func("/cloud-setup/general/replace-ipv4-addresses", test_replace_ipv4_addresses); - - return g_test_run(); -} |