]> git.proxmox.com Git - mirror_frr.git/blame - tests/isisd/test_isis_lspdb.c
Merge pull request #3448 from chiragshah6/evpn_dev1
[mirror_frr.git] / tests / isisd / test_isis_lspdb.c
CommitLineData
9c0437ec
CF
1#include <zebra.h>
2
3#include "isisd/isis_lsp.c"
4
5struct thread_master *master;
6
7int isis_sock_init(struct isis_circuit *circuit);
8int isis_sock_init(struct isis_circuit *circuit)
9{
10 return 0;
11}
12
13struct zebra_privs_t isisd_privs;
14
15static void test_lsp_build_list_nonzero_ht(void)
16{
17 uint8_t lsp_id1[8] = {
18 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
19 };
20 uint8_t lsp_id_end[8] = {
21 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x00
22 };
23 uint8_t lsp_id2[8] = {
24 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
25 };
26
27 struct isis_area *area = calloc(sizeof(*area), 1);
28
29 area->lsp_mtu = 1500;
30
31 dict_t *lspdb = lsp_db_init();
32
33 struct isis_lsp *lsp1 = lsp_new(area, lsp_id1, 6000, 0, 0, 0, NULL,
34 ISIS_LEVEL2);
35
36 lsp_insert(lsp1, lspdb);
37
38 struct isis_lsp *lsp2 = lsp_new(area, lsp_id2, 6000, 0, 0, 0, NULL,
39 ISIS_LEVEL2);
40
41 lsp_insert(lsp2, lspdb);
42
43 struct list *list = list_new();
44
45 lsp_build_list_nonzero_ht(lsp_id1, lsp_id_end, list, lspdb);
46 assert(list->count == 1);
47 assert(listgetdata(listhead(list)) == lsp1);
48 list_delete_all_node(list);
49
50 lsp_id_end[5] = 0x03;
51 lsp_id_end[6] = 0x00;
52
53 lsp_build_list_nonzero_ht(lsp_id1, lsp_id_end, list, lspdb);
54 assert(list->count == 2);
55 assert(listgetdata(listhead(list)) == lsp1);
56 assert(listgetdata(listtail(list)) == lsp2);
57 list_delete_all_node(list);
58
59 memcpy(lsp_id1, lsp_id2, sizeof(lsp_id1));
60
61 lsp_build_list_nonzero_ht(lsp_id1, lsp_id_end, list, lspdb);
62 assert(list->count == 1);
63 assert(listgetdata(listhead(list)) == lsp2);
64 list_delete_all_node(list);
65
66 lsp_id1[5] = 0x03;
67 lsp_id_end[5] = 0x04;
68
69 lsp_build_list_nonzero_ht(lsp_id1, lsp_id_end, list, lspdb);
70 assert(list->count == 0);
71 list_delete_all_node(list);
72
73 lsp_id1[5] = 0x00;
74
75 lsp_build_list_nonzero_ht(lsp_id1, lsp_id_end, list, lspdb);
76 assert(list->count == 2);
77 assert(listgetdata(listhead(list)) == lsp1);
78 assert(listgetdata(listtail(list)) == lsp2);
79 list_delete_all_node(list);
80}
81
82int main(int argc, char **argv)
83{
84 isis = calloc(sizeof(*isis), 1);
85 test_lsp_build_list_nonzero_ht();
86 return 0;
87}