summaryrefslogtreecommitdiff
path: root/tests/bgpd/test_mpath.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bgpd/test_mpath.c')
-rw-r--r--tests/bgpd/test_mpath.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/tests/bgpd/test_mpath.c b/tests/bgpd/test_mpath.c
index 0124ad9b22..ebbe3ac3e2 100644
--- a/tests/bgpd/test_mpath.c
+++ b/tests/bgpd/test_mpath.c
@@ -244,6 +244,7 @@ static int run_bgp_mp_list(testcase_t *t)
for (i = 0, mp_node = mp_list.head; i < test_mp_list_info_count;
i++, mp_node = listnextnode(mp_node)) {
info = listgetdata(mp_node);
+ info->lock++;
EXPECT_TRUE(info == &test_mp_list_info[i], test_result);
}
@@ -274,14 +275,14 @@ testcase_t test_bgp_mp_list = {
* Testcase for bgp_path_info_mpath_update
*/
-struct bgp_node test_rn;
+static struct bgp_dest *dest;
static int setup_bgp_path_info_mpath_update(testcase_t *t)
{
int i;
struct bgp *bgp;
struct bgp_table *rt;
- struct route_node *rt_node;
+ struct prefix p;
as_t asn = 1;
t->tmp_data = bgp_create_fake(&asn, NULL);
@@ -294,13 +295,12 @@ static int setup_bgp_path_info_mpath_update(testcase_t *t)
if (!rt)
return -1;
- str2prefix("42.1.1.0/24", &test_rn.p);
- rt_node = bgp_dest_to_rnode(&test_rn);
- memcpy((struct route_table *)&rt_node->table, &rt->route_table,
- sizeof(struct route_table));
+ str2prefix("42.1.1.0/24", &p);
+ dest = bgp_node_get(rt, &p);
+
setup_bgp_mp_list(t);
for (i = 0; i < test_mp_list_info_count; i++)
- bgp_path_info_add(&test_rn, &test_mp_list_info[i]);
+ bgp_path_info_add(dest, &test_mp_list_info[i]);
return 0;
}
@@ -309,6 +309,7 @@ static int run_bgp_path_info_mpath_update(testcase_t *t)
struct bgp_path_info *new_best, *old_best, *mpath;
struct list mp_list;
struct bgp_maxpaths_cfg mp_cfg = {3, 3};
+
int test_result = TEST_PASSED;
bgp_mp_list_init(&mp_list);
bgp_mp_list_add(&mp_list, &test_mp_list_info[4]);
@@ -317,7 +318,7 @@ static int run_bgp_path_info_mpath_update(testcase_t *t)
bgp_mp_list_add(&mp_list, &test_mp_list_info[1]);
new_best = &test_mp_list_info[3];
old_best = NULL;
- bgp_path_info_mpath_update(NULL, &test_rn, new_best, old_best, &mp_list,
+ bgp_path_info_mpath_update(NULL, dest, new_best, old_best, &mp_list,
&mp_cfg);
bgp_mp_list_clear(&mp_list);
EXPECT_TRUE(bgp_path_info_mpath_count(new_best) == 2, test_result);
@@ -332,7 +333,7 @@ static int run_bgp_path_info_mpath_update(testcase_t *t)
bgp_mp_list_add(&mp_list, &test_mp_list_info[1]);
new_best = &test_mp_list_info[0];
old_best = &test_mp_list_info[3];
- bgp_path_info_mpath_update(NULL, &test_rn, new_best, old_best, &mp_list,
+ bgp_path_info_mpath_update(NULL, dest, new_best, old_best, &mp_list,
&mp_cfg);
bgp_mp_list_clear(&mp_list);
EXPECT_TRUE(bgp_path_info_mpath_count(new_best) == 1, test_result);
@@ -466,9 +467,10 @@ int main(void)
{
int pass_count, fail_count;
time_t cur_time;
+ char buf[32];
time(&cur_time);
- printf("BGP Multipath Tests Run at %s", ctime(&cur_time));
+ printf("BGP Multipath Tests Run at %s", ctime_r(&cur_time, buf));
if (global_test_init() != 0) {
printf("Global init failed. Terminating.\n");
exit(1);