diff options
| author | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
| commit | 80ec1decc49c72efec2a8b87c06245c92c0ab807 (patch) | |
| tree | e3b229aa94e8dcf0590f2317664176e7b8f7607b /src/tests/test-dcb.c | |
| parent | 65f86e8f56267192d42f2b629fc6b0c99fb9cd0c (diff) | |
New upstream version 1.29.90 upstream/1.29.90
Diffstat (limited to 'src/tests/test-dcb.c')
| -rw-r--r-- | src/tests/test-dcb.c | 354 |
1 files changed, 0 insertions, 354 deletions
diff --git a/src/tests/test-dcb.c b/src/tests/test-dcb.c deleted file mode 100644 index 0df21066..00000000 --- a/src/tests/test-dcb.c +++ /dev/null @@ -1,354 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2013 Red Hat, Inc. - */ - -#include "nm-default.h" - -#include "nm-dcb.h" - -#include "nm-test-utils-core.h" - -typedef struct { - guint num; - const char *cmds[]; -} DcbExpected; - -static gboolean -test_dcb_func(char **argv, guint which, gpointer user_data, GError **error) -{ - DcbExpected *e = user_data; - char * f; - - g_assert(argv[0] == NULL); - argv[0] = (which == DCBTOOL) ? "dcbtool" : "fcoeadm"; - - f = g_strjoinv(" ", argv); - if (e->cmds[e->num] == NULL) - g_assert_cmpstr(f, ==, NULL); - g_assert_cmpstr(e->cmds[e->num], !=, NULL); - g_assert_cmpstr(f, ==, e->cmds[e->num++]); - g_free(f); - return TRUE; -} - -#define DCB_FLAGS_ALL \ - (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_ADVERTISE | NM_SETTING_DCB_FLAG_WILLING) - -static void -test_dcb_fcoe(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:1 a:1 w:1", - "dcbtool sc eth0 app:fcoe appcfg:40", - "dcbtool sc eth0 app:iscsi e:0 a:0 w:0", - "dcbtool sc eth0 app:fip e:0 a:0 w:0", - "dcbtool sc eth0 pfc e:0 a:0 w:0", - "dcbtool sc eth0 pg e:0", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), - NM_SETTING_DCB_APP_FCOE_FLAGS, - DCB_FLAGS_ALL, - NM_SETTING_DCB_APP_FCOE_PRIORITY, - 6, - NULL); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_iscsi(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:0 a:0 w:0", - "dcbtool sc eth0 app:iscsi e:1 a:0 w:1", - "dcbtool sc eth0 app:iscsi appcfg:08", - "dcbtool sc eth0 app:fip e:0 a:0 w:0", - "dcbtool sc eth0 pfc e:0 a:0 w:0", - "dcbtool sc eth0 pg e:0", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), - NM_SETTING_DCB_APP_ISCSI_FLAGS, - (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_WILLING), - NM_SETTING_DCB_APP_ISCSI_PRIORITY, - 3, - NULL); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_fip(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:0 a:0 w:0", - "dcbtool sc eth0 app:iscsi e:0 a:0 w:0", - "dcbtool sc eth0 app:fip e:1 a:1 w:0", - "dcbtool sc eth0 app:fip appcfg:01", - "dcbtool sc eth0 pfc e:0 a:0 w:0", - "dcbtool sc eth0 pg e:0", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), - NM_SETTING_DCB_APP_FIP_FLAGS, - (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_ADVERTISE), - NM_SETTING_DCB_APP_FIP_PRIORITY, - 0, - NULL); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_fip_default_prio(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:0 a:0 w:0", - "dcbtool sc eth0 app:iscsi e:0 a:0 w:0", - "dcbtool sc eth0 app:fip e:1 a:1 w:0", - "dcbtool sc eth0 pfc e:0 a:0 w:0", - "dcbtool sc eth0 pg e:0", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), - NM_SETTING_DCB_APP_FIP_FLAGS, - (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_ADVERTISE), - NM_SETTING_DCB_APP_FIP_PRIORITY, - -1, - NULL); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_pfc(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:0 a:0 w:0", - "dcbtool sc eth0 app:iscsi e:0 a:0 w:0", - "dcbtool sc eth0 app:fip e:0 a:0 w:0", - "dcbtool sc eth0 pfc e:1 a:1 w:1", - "dcbtool sc eth0 pfc pfcup:01101100", - "dcbtool sc eth0 pg e:0", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS, DCB_FLAGS_ALL, NULL); - - nm_setting_dcb_set_priority_flow_control(s_dcb, 0, FALSE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 1, TRUE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 2, TRUE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 3, FALSE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 4, TRUE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 5, TRUE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 6, FALSE); - nm_setting_dcb_set_priority_flow_control(s_dcb, 7, FALSE); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_priority_groups(void) -{ - static DcbExpected expected = { - 0, - {"dcbtool sc eth0 app:fcoe e:0 a:0 w:0", - "dcbtool sc eth0 app:iscsi e:0 a:0 w:0", - "dcbtool sc eth0 app:fip e:0 a:0 w:0", - "dcbtool sc eth0 pfc e:0 a:0 w:0", - "dcbtool sc eth0 pg e:1 a:1 w:1" - " pgid:765f3210" - " pgpct:10,40,5,10,5,20,7,3" - " uppct:100,50,33,25,20,16,14,12" - " strict:01010101" - " up2tc:01201201", - NULL}, - }; - NMSettingDcb *s_dcb; - GError * error = NULL; - gboolean success; - guint i; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS, DCB_FLAGS_ALL, NULL); - - for (i = 0; i < 8; i++) { - /* Make sure at least one 15/f is present in the group IDs */ - nm_setting_dcb_set_priority_group_id(s_dcb, i, (i == 3) ? 15 : 7 - i); - nm_setting_dcb_set_priority_bandwidth(s_dcb, i, 100 / (i + 1)); - nm_setting_dcb_set_priority_strict_bandwidth(s_dcb, i, i % 2); - nm_setting_dcb_set_priority_traffic_class(s_dcb, i, i % 3); - } - - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 0, 10); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 1, 40); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 2, 5); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 3, 10); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 4, 5); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 5, 20); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 6, 7); - nm_setting_dcb_set_priority_group_bandwidth(s_dcb, 7, 3); - - success = _dcb_setup("eth0", s_dcb, test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); - g_object_unref(s_dcb); -} - -static void -test_dcb_cleanup(void) -{ - static DcbExpected expected = { - 0, - {"fcoeadm -d eth0", - "dcbtool sc eth0 app:fcoe e:0", - "dcbtool sc eth0 app:iscsi e:0", - "dcbtool sc eth0 app:fip e:0", - "dcbtool sc eth0 pfc e:0", - "dcbtool sc eth0 pg e:0", - "dcbtool sc eth0 dcb off", - NULL}, - }; - GError * error = NULL; - gboolean success; - - success = _fcoe_cleanup("eth0", test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - success = _dcb_cleanup("eth0", test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); - - g_assert_cmpstr(expected.cmds[expected.num], ==, NULL); -} - -static void -test_fcoe_create(void) -{ - static DcbExpected expected1 = { - 0, - {"fcoeadm -m fabric -c eth0", NULL}, - }; - static DcbExpected expected2 = { - 0, - {"fcoeadm -m vn2vn -c eth0", NULL}, - }; - GError * error = NULL; - gboolean success; - NMSettingDcb *s_dcb; - - s_dcb = (NMSettingDcb *) nm_setting_dcb_new(); - g_object_set(G_OBJECT(s_dcb), NM_SETTING_DCB_APP_FCOE_FLAGS, DCB_FLAGS_ALL, NULL); - - /* Default mode is fabric */ - success = _fcoe_setup("eth0", s_dcb, test_dcb_func, &expected1, &error); - g_assert_no_error(error); - g_assert(success); - - /* Test VN2VN */ - g_object_set(G_OBJECT(s_dcb), - NM_SETTING_DCB_APP_FCOE_MODE, - NM_SETTING_DCB_FCOE_MODE_VN2VN, - NULL); - success = _fcoe_setup("eth0", s_dcb, test_dcb_func, &expected2, &error); - g_assert_no_error(error); - g_assert(success); - - g_object_unref(s_dcb); -} - -static void -test_fcoe_cleanup(void) -{ - static DcbExpected expected = { - 0, - {"fcoeadm -d eth0", NULL}, - }; - GError * error = NULL; - gboolean success; - - success = _fcoe_cleanup("eth0", test_dcb_func, &expected, &error); - g_assert_no_error(error); - g_assert(success); -} - -/*****************************************************************************/ - -NMTST_DEFINE(); - -int -main(int argc, char **argv) -{ - nmtst_init_assert_logging(&argc, &argv, "INFO", "DEFAULT"); - - g_test_add_func("/dcb/fcoe", test_dcb_fcoe); - g_test_add_func("/dcb/iscsi", test_dcb_iscsi); - g_test_add_func("/dcb/fip", test_dcb_fip); - g_test_add_func("/dcb/fip-default-priority", test_dcb_fip_default_prio); - g_test_add_func("/dcb/pfc", test_dcb_pfc); - g_test_add_func("/dcb/priority-groups", test_dcb_priority_groups); - g_test_add_func("/dcb/cleanup", test_dcb_cleanup); - g_test_add_func("/fcoe/create", test_fcoe_create); - g_test_add_func("/fcoe/cleanup", test_fcoe_cleanup); - - return g_test_run(); -} |