summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bgpd/subdir.am82
-rw-r--r--tests/bgpd/test_mpath.c4
-rw-r--r--tests/isisd/subdir.am66
-rw-r--r--tests/lib/subdir.am364
-rw-r--r--tests/lib/test_printfrr.c4
-rw-r--r--tests/lib/test_segv.c2
-rw-r--r--tests/lib/test_sig.c24
-rw-r--r--tests/lib/test_zmq.c2
-rw-r--r--tests/ospf6d/subdir.am19
-rw-r--r--tests/ospfd/subdir.am21
-rw-r--r--tests/subdir.am502
-rw-r--r--tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_routes.py62
-rw-r--r--tests/zebra/subdir.am17
13 files changed, 680 insertions, 489 deletions
diff --git a/tests/bgpd/subdir.am b/tests/bgpd/subdir.am
new file mode 100644
index 0000000000..5148e7e440
--- /dev/null
+++ b/tests/bgpd/subdir.am
@@ -0,0 +1,82 @@
+if !BGPD
+PYTEST_IGNORE += --ignore=bgpd/
+endif
+BGP_TEST_LDADD = bgpd/libbgp.a $(RFPLDADD) $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) $(UST_LIBS) -lm
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_aspath
+endif
+tests_bgpd_test_aspath_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_aspath_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_aspath_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_aspath_SOURCES = tests/bgpd/test_aspath.c
+EXTRA_DIST += tests/bgpd/test_aspath.py
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_bgp_table
+endif
+tests_bgpd_test_bgp_table_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_bgp_table_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_bgp_table_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_bgp_table_SOURCES = tests/bgpd/test_bgp_table.c
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_capability
+endif
+tests_bgpd_test_capability_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_capability_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_capability_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_capability_SOURCES = tests/bgpd/test_capability.c
+EXTRA_DIST += tests/bgpd/test_capability.py
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_ecommunity
+endif
+tests_bgpd_test_ecommunity_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_ecommunity_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_ecommunity_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_ecommunity_SOURCES = tests/bgpd/test_ecommunity.c
+EXTRA_DIST += tests/bgpd/test_ecommunity.py
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_mp_attr
+endif
+tests_bgpd_test_mp_attr_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_mp_attr_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_mp_attr_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_mp_attr_SOURCES = tests/bgpd/test_mp_attr.c
+EXTRA_DIST += tests/bgpd/test_mp_attr.py
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_mpath
+endif
+tests_bgpd_test_mpath_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_mpath_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_mpath_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_mpath_SOURCES = tests/bgpd/test_mpath.c
+EXTRA_DIST += tests/bgpd/test_mpath.py
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_packet
+endif
+tests_bgpd_test_packet_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_packet_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_packet_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_packet_SOURCES = tests/bgpd/test_packet.c
+
+
+if BGPD
+check_PROGRAMS += tests/bgpd/test_peer_attr
+endif
+tests_bgpd_test_peer_attr_CFLAGS = $(TESTS_CFLAGS)
+tests_bgpd_test_peer_attr_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_bgpd_test_peer_attr_LDADD = $(BGP_TEST_LDADD)
+tests_bgpd_test_peer_attr_SOURCES = tests/bgpd/test_peer_attr.c
+EXTRA_DIST += tests/bgpd/test_peer_attr.py
diff --git a/tests/bgpd/test_mpath.c b/tests/bgpd/test_mpath.c
index d1ca356b94..b93cbd8e5a 100644
--- a/tests/bgpd/test_mpath.c
+++ b/tests/bgpd/test_mpath.c
@@ -330,7 +330,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(&test_rn, new_best, old_best, &mp_list,
+ bgp_path_info_mpath_update(NULL, &test_rn, 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);
@@ -345,7 +345,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(&test_rn, new_best, old_best, &mp_list,
+ bgp_path_info_mpath_update(NULL, &test_rn, 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);
diff --git a/tests/isisd/subdir.am b/tests/isisd/subdir.am
new file mode 100644
index 0000000000..2f9ce81f16
--- /dev/null
+++ b/tests/isisd/subdir.am
@@ -0,0 +1,66 @@
+if !ISISD
+PYTEST_IGNORE += --ignore=isisd/
+endif
+ISISD_TEST_LDADD = isisd/libisis.a $(ALL_TESTS_LDADD)
+noinst_HEADERS += \
+ tests/isisd/test_common.h \
+ # end
+
+
+if ISISD
+check_PROGRAMS += tests/isisd/test_fuzz_isis_tlv
+endif
+tests_isisd_test_fuzz_isis_tlv_CFLAGS = $(TESTS_CFLAGS) -I$(top_builddir)/tests/isisd
+tests_isisd_test_fuzz_isis_tlv_CPPFLAGS = $(TESTS_CPPFLAGS) -I$(top_builddir)/tests/isisd
+tests_isisd_test_fuzz_isis_tlv_LDADD = $(ISISD_TEST_LDADD)
+tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv.c tests/isisd/test_common.c
+nodist_tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv_tests.h
+EXTRA_DIST += \
+ tests/isisd/test_fuzz_isis_tlv.py \
+ tests/isisd/test_fuzz_isis_tlv_tests.h.gz \
+ # end
+
+tests/isisd/test_fuzz_isis_tlv_tests.h: $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz
+ @mkdir -p tests/isisd
+ $(AM_V_GEN)gzip -d < $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz > "$@"
+CLEANFILES += tests/isisd/test_fuzz_isis_tlv_tests.h
+
+tests/isisd/tests_isisd_test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \
+ tests/isisd/test_fuzz_isis_tlv_tests.h
+tests/isisd/test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \
+ tests/isisd/test_fuzz_isis_tlv_tests.h
+
+
+if ISISD
+check_PROGRAMS += tests/isisd/test_isis_lspdb
+endif
+tests_isisd_test_isis_lspdb_CFLAGS = $(TESTS_CFLAGS)
+tests_isisd_test_isis_lspdb_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_isisd_test_isis_lspdb_LDADD = $(ISISD_TEST_LDADD)
+tests_isisd_test_isis_lspdb_SOURCES = tests/isisd/test_isis_lspdb.c tests/isisd/test_common.c
+EXTRA_DIST += tests/isisd/test_isis_lspdb.py
+
+
+if ISISD
+check_PROGRAMS += tests/isisd/test_isis_spf
+endif
+tests_isisd_test_isis_spf_CFLAGS = $(TESTS_CFLAGS)
+tests_isisd_test_isis_spf_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_isisd_test_isis_spf_LDADD = $(ISISD_TEST_LDADD)
+tests_isisd_test_isis_spf_SOURCES = tests/isisd/test_isis_spf.c tests/isisd/test_common.c tests/isisd/test_topologies.c
+nodist_tests_isisd_test_isis_spf_SOURCES = yang/frr-isisd.yang.c
+EXTRA_DIST += \
+ tests/isisd/test_isis_spf.py \
+ tests/isisd/test_isis_spf.in \
+ tests/isisd/test_isis_spf.refout \
+ # end
+
+
+if ISISD
+check_PROGRAMS += tests/isisd/test_isis_vertex_queue
+endif
+tests_isisd_test_isis_vertex_queue_CFLAGS = $(TESTS_CFLAGS)
+tests_isisd_test_isis_vertex_queue_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_isisd_test_isis_vertex_queue_LDADD = $(ISISD_TEST_LDADD)
+tests_isisd_test_isis_vertex_queue_SOURCES = tests/isisd/test_isis_vertex_queue.c tests/isisd/test_common.c
+EXTRA_DIST += tests/isisd/test_isis_vertex_queue.py
diff --git a/tests/lib/subdir.am b/tests/lib/subdir.am
new file mode 100644
index 0000000000..00fe93278b
--- /dev/null
+++ b/tests/lib/subdir.am
@@ -0,0 +1,364 @@
+##############################################################################
+if SCRIPTING
+check_PROGRAMS += tests/lib/test_frrlua
+endif
+tests_lib_test_frrlua_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_frrlua_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_frrlua_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_frrlua_SOURCES = tests/lib/test_frrlua.c
+EXTRA_DIST += tests/lib/test_frrlua.py
+
+if SCRIPTING
+check_PROGRAMS += tests/lib/test_frrscript
+endif
+tests_lib_test_frrscript_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_frrscript_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_frrscript_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_frrscript_SOURCES = tests/lib/test_frrscript.c
+EXTRA_DIST += tests/lib/test_frrscript.py
+
+
+##############################################################################
+GRPC_TESTS_LDADD = staticd/libstatic.a grpc/libfrrgrpc_pb.la -lgrpc++ -lprotobuf $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) -lm
+
+if GRPC
+check_PROGRAMS += tests/lib/test_grpc
+endif
+tests_lib_test_grpc_CXXFLAGS = $(WERROR) $(TESTS_CXXFLAGS)
+tests_lib_test_grpc_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_grpc_LDADD = $(GRPC_TESTS_LDADD)
+tests_lib_test_grpc_SOURCES = tests/lib/test_grpc.cpp
+
+
+##############################################################################
+if ZEROMQ
+check_PROGRAMS += tests/lib/test_zmq
+endif
+tests_lib_test_zmq_CFLAGS = $(TESTS_CFLAGS) $(ZEROMQ_CFLAGS)
+tests_lib_test_zmq_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_zmq_LDADD = lib/libfrrzmq.la $(ALL_TESTS_LDADD) $(ZEROMQ_LIBS)
+tests_lib_test_zmq_SOURCES = tests/lib/test_zmq.c
+
+
+##############################################################################
+if CARES
+check_PROGRAMS += tests/lib/test_resolver
+endif
+tests_lib_test_resolver_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_resolver_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_resolver_LDADD = $(ALL_TESTS_LDADD) lib/libfrrcares.la
+tests_lib_test_resolver_SOURCES = tests/lib/test_resolver.c tests/lib/cli/common_cli.c
+
+
+##############################################################################
+noinst_HEADERS += \
+ tests/helpers/c/prng.h \
+ tests/helpers/c/tests.h \
+ tests/lib/cli/common_cli.h \
+ # end
+
+
+check_PROGRAMS += tests/lib/cxxcompat
+tests_lib_cxxcompat_CFLAGS = $(TESTS_CFLAGS) $(CXX_COMPAT_CFLAGS) $(WERROR)
+tests_lib_cxxcompat_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_cxxcompat_SOURCES = tests/lib/cxxcompat.c
+tests_lib_cxxcompat_LDADD = $(ALL_TESTS_LDADD)
+
+
+check_PROGRAMS += tests/lib/cli/test_cli
+tests_lib_cli_test_cli_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_cli_test_cli_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_cli_test_cli_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_cli_test_cli_SOURCES = tests/lib/cli/test_cli.c tests/lib/cli/common_cli.c
+clippy_scan += tests/lib/cli/test_cli.c
+EXTRA_DIST += \
+ tests/lib/cli/test_cli.in \
+ tests/lib/cli/test_cli.py \
+ tests/lib/cli/test_cli.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/cli/test_commands
+tests_lib_cli_test_commands_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_cli_test_commands_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_cli_test_commands_LDADD = $(ALL_TESTS_LDADD)
+nodist_tests_lib_cli_test_commands_SOURCES = tests/lib/cli/test_commands_defun.c
+tests_lib_cli_test_commands_SOURCES = tests/lib/cli/test_commands.c tests/helpers/c/prng.c
+tests/lib/cli/test_commands_defun.c: vtysh/vtysh_cmd.c
+ @mkdir -p tests/lib/cli
+ $(AM_V_GEN)sed \
+ -e 's%"vtysh/vtysh\.h"%"tests/helpers/c/tests.h"%' \
+ -e 's/vtysh_init_cmd/test_init_cmd/' \
+ -e 's/VTYSH_[A-Z][A-Z_0-9]*/0/g' \
+ < vtysh/vtysh_cmd.c \
+ > "$@"
+CLEANFILES += tests/lib/cli/test_commands_defun.c
+EXTRA_DIST += \
+ tests/lib/cli/test_commands.in \
+ tests/lib/cli/test_commands.py \
+ tests/lib/cli/test_commands.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/northbound/test_oper_data
+tests_lib_northbound_test_oper_data_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_northbound_test_oper_data_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_northbound_test_oper_data_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_northbound_test_oper_data_SOURCES = tests/lib/northbound/test_oper_data.c
+nodist_tests_lib_northbound_test_oper_data_SOURCES = yang/frr-test-module.yang.c
+EXTRA_DIST += \
+ tests/lib/northbound/test_oper_data.in \
+ tests/lib/northbound/test_oper_data.py \
+ tests/lib/northbound/test_oper_data.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/test_assert
+tests_lib_test_assert_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_assert_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_assert_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_assert_SOURCES = tests/lib/test_assert.c
+EXTRA_DIST += tests/lib/test_assert.py
+
+
+check_PROGRAMS += tests/lib/test_atomlist
+tests_lib_test_atomlist_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_atomlist_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_atomlist_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_atomlist_SOURCES = tests/lib/test_atomlist.c
+EXTRA_DIST += tests/lib/test_atomlist.py
+
+
+check_PROGRAMS += tests/lib/test_buffer
+tests_lib_test_buffer_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_buffer_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_buffer_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_buffer_SOURCES = tests/lib/test_buffer.c
+
+
+check_PROGRAMS += tests/lib/test_checksum
+tests_lib_test_checksum_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_checksum_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_checksum_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_checksum_SOURCES = tests/lib/test_checksum.c
+
+
+check_PROGRAMS += tests/lib/test_graph
+tests_lib_test_graph_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_graph_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_graph_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_graph_SOURCES = tests/lib/test_graph.c
+EXTRA_DIST += \
+ tests/lib/test_graph.py \
+ tests/lib/test_graph.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/test_heavy
+tests_lib_test_heavy_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_heavy_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_heavy_LDADD = $(ALL_TESTS_LDADD) -lm
+tests_lib_test_heavy_SOURCES = tests/lib/test_heavy.c tests/helpers/c/main.c
+
+
+check_PROGRAMS += tests/lib/test_heavy_thread
+tests_lib_test_heavy_thread_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_heavy_thread_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_heavy_thread_LDADD = $(ALL_TESTS_LDADD) -lm
+tests_lib_test_heavy_thread_SOURCES = tests/lib/test_heavy_thread.c tests/helpers/c/main.c
+
+
+check_PROGRAMS += tests/lib/test_heavy_wq
+tests_lib_test_heavy_wq_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_heavy_wq_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_heavy_wq_LDADD = $(ALL_TESTS_LDADD) -lm
+tests_lib_test_heavy_wq_SOURCES = tests/lib/test_heavy_wq.c tests/helpers/c/main.c
+
+
+check_PROGRAMS += tests/lib/test_idalloc
+tests_lib_test_idalloc_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_idalloc_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_idalloc_SOURCES = tests/lib/test_idalloc.c
+
+
+check_PROGRAMS += tests/lib/test_memory
+tests_lib_test_memory_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_memory_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_memory_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_memory_SOURCES = tests/lib/test_memory.c
+
+
+check_PROGRAMS += tests/lib/test_nexthop_iter
+tests_lib_test_nexthop_iter_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_nexthop_iter_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_nexthop_iter_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_nexthop_iter_SOURCES = tests/lib/test_nexthop_iter.c tests/helpers/c/prng.c
+EXTRA_DIST += tests/lib/test_nexthop_iter.py
+
+
+check_PROGRAMS += tests/lib/test_nexthop
+tests_lib_test_nexthop_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_nexthop_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_nexthop_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_nexthop_SOURCES = tests/lib/test_nexthop.c
+EXTRA_DIST += tests/lib/test_nexthop.py
+
+
+check_PROGRAMS += tests/lib/test_ntop
+tests_lib_test_ntop_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_ntop_CPPFLAGS = $(CPPFLAGS_BASE) # no assert override
+tests_lib_test_ntop_LDADD = # none
+tests_lib_test_ntop_SOURCES = tests/lib/test_ntop.c tests/helpers/c/prng.c
+EXTRA_DIST += tests/lib/test_ntop.py
+
+
+check_PROGRAMS += tests/lib/test_plist
+tests_lib_test_plist_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_plist_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_plist_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_plist_SOURCES = tests/lib/test_plist.c tests/lib/cli/common_cli.c
+
+
+check_PROGRAMS += tests/lib/test_prefix2str
+tests_lib_test_prefix2str_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_prefix2str_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_prefix2str_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_prefix2str_SOURCES = tests/lib/test_prefix2str.c tests/helpers/c/prng.c
+EXTRA_DIST += tests/lib/test_prefix2str.py
+
+
+check_PROGRAMS += tests/lib/test_printfrr
+tests_lib_test_printfrr_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_printfrr_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_printfrr_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_printfrr_SOURCES = tests/lib/test_printfrr.c
+EXTRA_DIST += tests/lib/test_printfrr.py
+
+
+check_PROGRAMS += tests/lib/test_privs
+tests_lib_test_privs_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_privs_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_privs_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_privs_SOURCES = tests/lib/test_privs.c
+
+
+check_PROGRAMS += tests/lib/test_ringbuf
+tests_lib_test_ringbuf_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_ringbuf_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_ringbuf_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_ringbuf_SOURCES = tests/lib/test_ringbuf.c
+EXTRA_DIST += tests/lib/test_ringbuf.py
+
+
+check_PROGRAMS += tests/lib/test_segv
+tests_lib_test_segv_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_segv_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_segv_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_segv_SOURCES = tests/lib/test_segv.c
+
+
+check_PROGRAMS += tests/lib/test_seqlock
+tests_lib_test_seqlock_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_seqlock_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_seqlock_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_seqlock_SOURCES = tests/lib/test_seqlock.c
+
+
+check_PROGRAMS += tests/lib/test_sig
+tests_lib_test_sig_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_sig_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_sig_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_sig_SOURCES = tests/lib/test_sig.c
+
+
+check_PROGRAMS += tests/lib/test_skiplist
+tests_lib_test_skiplist_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_skiplist_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_skiplist_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_skiplist_SOURCES = tests/lib/test_skiplist.c
+
+
+check_PROGRAMS += tests/lib/test_srcdest_table
+tests_lib_test_srcdest_table_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_srcdest_table_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_srcdest_table_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_srcdest_table_SOURCES = tests/lib/test_srcdest_table.c tests/helpers/c/prng.c
+EXTRA_DIST += tests/lib/test_srcdest_table.py
+
+
+check_PROGRAMS += tests/lib/test_stream
+tests_lib_test_stream_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_stream_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_stream_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_stream_SOURCES = tests/lib/test_stream.c
+EXTRA_DIST += \
+ tests/lib/test_stream.py \
+ tests/lib/test_stream.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/test_table
+tests_lib_test_table_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_table_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_table_LDADD = $(ALL_TESTS_LDADD) -lm
+tests_lib_test_table_SOURCES = tests/lib/test_table.c
+EXTRA_DIST += tests/lib/test_table.py
+
+
+check_PROGRAMS += tests/lib/test_timer_correctness
+tests_lib_test_timer_correctness_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_timer_correctness_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_timer_correctness_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_timer_correctness_SOURCES = tests/lib/test_timer_correctness.c tests/helpers/c/prng.c
+EXTRA_DIST += tests/lib/test_timer_correctness.py
+
+
+check_PROGRAMS += tests/lib/test_timer_performance
+tests_lib_test_timer_performance_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_timer_performance_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_timer_performance_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_timer_performance_SOURCES = tests/lib/test_timer_performance.c tests/helpers/c/prng.c
+
+
+check_PROGRAMS += tests/lib/test_ttable
+tests_lib_test_ttable_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_ttable_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_ttable_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_ttable_SOURCES = tests/lib/test_ttable.c
+EXTRA_DIST += \
+ tests/lib/test_ttable.py \
+ tests/lib/test_ttable.refout \
+ # end
+
+
+check_PROGRAMS += tests/lib/test_typelist
+tests_lib_test_typelist_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_typelist_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_typelist_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_typelist_SOURCES = tests/lib/test_typelist.c tests/helpers/c/prng.c
+noinst_HEADERS += tests/lib/test_typelist.h
+EXTRA_DIST += tests/lib/test_typelist.py
+
+
+check_PROGRAMS += tests/lib/test_versioncmp
+tests_lib_test_versioncmp_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_versioncmp_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_versioncmp_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_versioncmp_SOURCES = tests/lib/test_versioncmp.c
+EXTRA_DIST += tests/lib/test_versioncmp.py
+
+
+check_PROGRAMS += tests/lib/test_xref
+tests_lib_test_xref_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_xref_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_xref_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_xref_SOURCES = tests/lib/test_xref.c
+EXTRA_DIST += tests/lib/test_xref.py
+
+
+check_PROGRAMS += tests/lib/test_zlog
+tests_lib_test_zlog_CFLAGS = $(TESTS_CFLAGS)
+tests_lib_test_zlog_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_lib_test_zlog_LDADD = $(ALL_TESTS_LDADD)
+tests_lib_test_zlog_SOURCES = tests/lib/test_zlog.c
+EXTRA_DIST += tests/lib/test_zlog.py
diff --git a/tests/lib/test_printfrr.c b/tests/lib/test_printfrr.c
index 06996a2f13..8413b7b372 100644
--- a/tests/lib/test_printfrr.c
+++ b/tests/lib/test_printfrr.c
@@ -259,8 +259,8 @@ int main(int argc, char **argv)
*
* gateway addresses only for now: interfaces require more setup
*/
- printchk("(null)", "%pNHcg", NULL);
- printchk("(null)", "%pNHci", NULL);
+ printchk("(null)", "%pNHcg", (struct nexthop *)NULL);
+ printchk("(null)", "%pNHci", (struct nexthop *)NULL);
struct nexthop nh;
diff --git a/tests/lib/test_segv.c b/tests/lib/test_segv.c
index 8133637adc..494a162a45 100644
--- a/tests/lib/test_segv.c
+++ b/tests/lib/test_segv.c
@@ -28,7 +28,7 @@
#include "lib/log.h"
#include "lib/memory.h"
-struct quagga_signal_t sigs[] = {};
+struct frr_signal_t sigs[] = {};
struct thread_master *master;
diff --git a/tests/lib/test_sig.c b/tests/lib/test_sig.c
index 2aceafb8f0..9165f1850f 100644
--- a/tests/lib/test_sig.c
+++ b/tests/lib/test_sig.c
@@ -36,18 +36,18 @@ static void sigusr2(void)
printf("processed usr2\n");
}
-struct quagga_signal_t sigs[] = {{
- .signal = SIGHUP,
- .handler = &sighup,
- },
- {
- .signal = SIGUSR1,
- .handler = &sigusr1,
- },
- {
- .signal = SIGUSR2,
- .handler = &sigusr2,
- }};
+struct frr_signal_t sigs[] = {{
+ .signal = SIGHUP,
+ .handler = &sighup,
+ },
+ {
+ .signal = SIGUSR1,
+ .handler = &sigusr1,
+ },
+ {
+ .signal = SIGUSR2,
+ .handler = &sigusr2,
+ }};
struct thread_master *master;
struct thread t;
diff --git a/tests/lib/test_zmq.c b/tests/lib/test_zmq.c
index 65195aa3e1..c411de7252 100644
--- a/tests/lib/test_zmq.c
+++ b/tests/lib/test_zmq.c
@@ -266,7 +266,7 @@ static void sigchld(void)
frrzmq_thread_cancel(&cb, &cb->write);
}
-static struct quagga_signal_t sigs[] = {
+static struct frr_signal_t sigs[] = {
{
.signal = SIGCHLD,
.handler = sigchld,
diff --git a/tests/ospf6d/subdir.am b/tests/ospf6d/subdir.am
new file mode 100644
index 0000000000..ef1f40cf08
--- /dev/null
+++ b/tests/ospf6d/subdir.am
@@ -0,0 +1,19 @@
+if !OSPF6D
+PYTEST_IGNORE += --ignore=ospf6d/
+endif
+OSPF6_TEST_LDADD = ospf6d/libospf6.a $(ALL_TESTS_LDADD)
+
+
+if OSPF6D
+check_PROGRAMS += tests/ospf6d/test_lsdb
+endif
+tests_ospf6d_test_lsdb_CFLAGS = $(TESTS_CFLAGS)
+tests_ospf6d_test_lsdb_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_ospf6d_test_lsdb_LDADD = $(OSPF6_TEST_LDADD)
+tests_ospf6d_test_lsdb_SOURCES = tests/ospf6d/test_lsdb.c tests/lib/cli/common_cli.c
+clippy_scan += tests/ospf6d/test_lsdb.c
+EXTRA_DIST += \
+ tests/ospf6d/test_lsdb.py \
+ tests/ospf6d/test_lsdb.in \
+ tests/ospf6d/test_lsdb.refout \
+ # end
diff --git a/tests/ospfd/subdir.am b/tests/ospfd/subdir.am
new file mode 100644
index 0000000000..5ed5b9deaa
--- /dev/null
+++ b/tests/ospfd/subdir.am
@@ -0,0 +1,21 @@
+if !OSPFD
+PYTEST_IGNORE += --ignore=ospfd/
+endif
+OSPFD_TEST_LDADD = ospfd/libfrrospf.a $(ALL_TESTS_LDADD)
+noinst_HEADERS += \
+ tests/ospfd/common.h \
+ # end
+
+
+if OSPFD
+check_PROGRAMS += tests/ospfd/test_ospf_spf
+endif
+tests_ospfd_test_ospf_spf_CFLAGS = $(TESTS_CFLAGS)
+tests_ospfd_test_ospf_spf_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_ospfd_test_ospf_spf_LDADD = $(OSPFD_TEST_LDADD)
+tests_ospfd_test_ospf_spf_SOURCES = tests/ospfd/test_ospf_spf.c tests/ospfd/common.c tests/ospfd/topologies.c
+EXTRA_DIST += \
+ tests/ospfd/test_ospf_spf.py \
+ tests/ospfd/test_ospf_spf.in \
+ tests/ospfd/test_ospf_spf.refout \
+ # end
diff --git a/tests/subdir.am b/tests/subdir.am
index cd6e4101dd..ab322f70d2 100644
--- a/tests/subdir.am
+++ b/tests/subdir.am
@@ -2,171 +2,6 @@
# tests
#
-if BGPD
-TESTS_BGPD = \
- tests/bgpd/test_aspath \
- tests/bgpd/test_capability \
- tests/bgpd/test_packet \
- tests/bgpd/test_peer_attr \
- tests/bgpd/test_ecommunity \
- tests/bgpd/test_mp_attr \
- tests/bgpd/test_mpath \
- tests/bgpd/test_bgp_table
-IGNORE_BGPD =
-else
-TESTS_BGPD =
-IGNORE_BGPD = --ignore=bgpd/
-endif
-
-if ISISD
-TESTS_ISISD = \
- tests/isisd/test_fuzz_isis_tlv \
- tests/isisd/test_isis_lspdb \
- tests/isisd/test_isis_spf \
- tests/isisd/test_isis_vertex_queue \
- # end
-IGNORE_ISISD =
-else
-TESTS_ISISD =
-IGNORE_ISISD = --ignore=isisd/
-endif
-
-if OSPFD
-TESTS_OSPFD = \
- tests/ospfd/test_ospf_spf \
- # end
-IGNORE_OSPFD =
-else
-TESTS_OSPFD =
-IGNORE_OSPFD = --ignore=ospfd/
-endif
-
-if OSPF6D
-TESTS_OSPF6D = \
- tests/ospf6d/test_lsdb \
- # end
-IGNORE_OSPF6D =
-else
-TESTS_OSPF6D =
-IGNORE_OSPF6D = --ignore=ospf6d/
-endif
-
-if ZEBRA
-TESTS_ZEBRA = \
- tests/zebra/test_lm_plugin \
- #end
-IGNORE_ZEBRA =
-else
-TESTS_ZEBRA =
-IGNORE_ZEBRA = --ignore=zebra/
-endif
-
-if SCRIPTING
-TESTS_SCRIPTING = \
- tests/lib/test_frrlua \
- tests/lib/test_frrscript \
- #end
-else
-TESTS_SCRIPTING =
-endif
-
-clippy_scan += \
- tests/lib/cli/test_cli.c \
- tests/ospf6d/test_lsdb.c \
- # end
-
-check_PROGRAMS = \
- tests/lib/cxxcompat \
- tests/lib/test_assert \
- tests/lib/test_atomlist \
- tests/lib/test_buffer \
- tests/lib/test_checksum \
- tests/lib/test_heavy_thread \
- tests/lib/test_heavy_wq \
- tests/lib/test_heavy \
- tests/lib/test_idalloc \
- tests/lib/test_memory \
- tests/lib/test_nexthop_iter \
- tests/lib/test_nexthop \
- tests/lib/test_ntop \
- tests/lib/test_plist \
- tests/lib/test_prefix2str \
- tests/lib/test_printfrr \
- tests/lib/test_privs \
- tests/lib/test_ringbuf \
- tests/lib/test_srcdest_table \
- tests/lib/test_segv \
- tests/lib/test_seqlock \
- tests/lib/test_sig \
- tests/lib/test_skiplist \
- tests/lib/test_stream \
- tests/lib/test_table \
- tests/lib/test_timer_correctness \
- tests/lib/test_timer_performance \
- tests/lib/test_ttable \
- tests/lib/test_typelist \
- tests/lib/test_versioncmp \
- tests/lib/test_xref \
- tests/lib/test_zlog \
- tests/lib/test_graph \
- tests/lib/cli/test_cli \
- tests/lib/cli/test_commands \
- tests/lib/northbound/test_oper_data \
- $(TESTS_BGPD) \
- $(TESTS_ISISD) \
- $(TESTS_OSPFD) \
- $(TESTS_OSPF6D) \
- $(TESTS_ZEBRA) \
- $(TESTS_SCRIPTING) \
- # end
-
-if GRPC
-check_PROGRAMS += \
- tests/lib/test_grpc \
- #end
-endif
-
-if ZEROMQ
-check_PROGRAMS += \
- tests/lib/test_zmq \
- # end
-endif
-
-if CARES
-check_PROGRAMS += \
- tests/lib/test_resolver \
- # end
-endif
-
-tests/lib/cli/test_commands_defun.c: vtysh/vtysh_cmd.c
- mkdir -p tests/lib/cli
- sed \
- -e 's%"vtysh/vtysh\.h"%"tests/helpers/c/tests.h"%' \
- -e 's/vtysh_init_cmd/test_init_cmd/' \
- -e 's/VTYSH_[A-Z][A-Z_0-9]*/0/g' \
- < vtysh/vtysh_cmd.c \
- > "$@"
-CLEANFILES += tests/lib/cli/test_commands_defun.c
-
-tests/isisd/test_fuzz_isis_tlv_tests.h: $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz
- mkdir -p tests/isisd
- gzip -d < $(top_srcdir)/tests/isisd/test_fuzz_isis_tlv_tests.h.gz > "$@"
-CLEANFILES += tests/isisd/test_fuzz_isis_tlv_tests.h
-
-tests/isisd/tests_isisd_test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \
- tests/isisd/test_fuzz_isis_tlv_tests.h
-tests/isisd/test_fuzz_isis_tlv-test_fuzz_isis_tlv.$(OBJEXT): \
- tests/isisd/test_fuzz_isis_tlv_tests.h
-
-noinst_HEADERS += \
- tests/helpers/c/prng.h \
- tests/helpers/c/tests.h \
- tests/lib/cli/common_cli.h \
- tests/lib/test_typelist.h \
- tests/isisd/test_common.h \
- tests/ospfd/common.h \
- # end
-
#
# *sigh* - there is no way to get CPPFLAGS or CFLAGS for a group of files :(
#
@@ -190,323 +25,52 @@ TESTS_CXXFLAGS = \
# note no -Werror
ALL_TESTS_LDADD = lib/libfrr.la $(LIBCAP)
-BGP_TEST_LDADD = bgpd/libbgp.a $(RFPLDADD) $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) $(UST_LIBS) -lm
-ISISD_TEST_LDADD = isisd/libisis.a $(ALL_TESTS_LDADD)
-if GRPC
-GRPC_TESTS_LDADD = staticd/libstatic.a grpc/libfrrgrpc_pb.la -lgrpc++ -lprotobuf $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) -lm
-endif
-OSPFD_TEST_LDADD = ospfd/libfrrospf.a $(ALL_TESTS_LDADD)
-OSPF6_TEST_LDADD = ospf6d/libospf6.a $(ALL_TESTS_LDADD)
-ZEBRA_TEST_LDADD = zebra/label_manager.o $(ALL_TESTS_LDADD)
-
-tests_bgpd_test_aspath_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_aspath_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_aspath_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_aspath_SOURCES = tests/bgpd/test_aspath.c
-tests_bgpd_test_bgp_table_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_bgp_table_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_bgp_table_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_bgp_table_SOURCES = tests/bgpd/test_bgp_table.c
-tests_bgpd_test_capability_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_capability_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_capability_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_capability_SOURCES = tests/bgpd/test_capability.c
-tests_bgpd_test_ecommunity_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_ecommunity_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_ecommunity_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_ecommunity_SOURCES = tests/bgpd/test_ecommunity.c
-tests_bgpd_test_mp_attr_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_mp_attr_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_mp_attr_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_mp_attr_SOURCES = tests/bgpd/test_mp_attr.c
-tests_bgpd_test_mpath_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_mpath_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_mpath_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_mpath_SOURCES = tests/bgpd/test_mpath.c
-tests_bgpd_test_packet_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_packet_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_packet_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_packet_SOURCES = tests/bgpd/test_packet.c
-tests_bgpd_test_peer_attr_CFLAGS = $(TESTS_CFLAGS)
-tests_bgpd_test_peer_attr_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_bgpd_test_peer_attr_LDADD = $(BGP_TEST_LDADD)
-tests_bgpd_test_peer_attr_SOURCES = tests/bgpd/test_peer_attr.c
-
-tests_isisd_test_fuzz_isis_tlv_CFLAGS = $(TESTS_CFLAGS) -I$(top_builddir)/tests/isisd
-tests_isisd_test_fuzz_isis_tlv_CPPFLAGS = $(TESTS_CPPFLAGS) -I$(top_builddir)/tests/isisd
-tests_isisd_test_fuzz_isis_tlv_LDADD = $(ISISD_TEST_LDADD)
-tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv.c tests/isisd/test_common.c
-nodist_tests_isisd_test_fuzz_isis_tlv_SOURCES = tests/isisd/test_fuzz_isis_tlv_tests.h
-tests_isisd_test_isis_lspdb_CFLAGS = $(TESTS_CFLAGS)
-tests_isisd_test_isis_lspdb_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_isisd_test_isis_lspdb_LDADD = $(ISISD_TEST_LDADD)
-tests_isisd_test_isis_lspdb_SOURCES = tests/isisd/test_isis_lspdb.c tests/isisd/test_common.c
-tests_isisd_test_isis_spf_CFLAGS = $(TESTS_CFLAGS)
-tests_isisd_test_isis_spf_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_isisd_test_isis_spf_LDADD = $(ISISD_TEST_LDADD)
-tests_isisd_test_isis_spf_SOURCES = tests/isisd/test_isis_spf.c tests/isisd/test_common.c tests/isisd/test_topologies.c
-nodist_tests_isisd_test_isis_spf_SOURCES = yang/frr-isisd.yang.c
-tests_isisd_test_isis_vertex_queue_CFLAGS = $(TESTS_CFLAGS)
-tests_isisd_test_isis_vertex_queue_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_isisd_test_isis_vertex_queue_LDADD = $(ISISD_TEST_LDADD)
-tests_isisd_test_isis_vertex_queue_SOURCES = tests/isisd/test_isis_vertex_queue.c tests/isisd/test_common.c
-
-tests_ospfd_test_ospf_spf_CFLAGS = $(TESTS_CFLAGS)
-tests_ospfd_test_ospf_spf_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_ospfd_test_ospf_spf_LDADD = $(OSPFD_TEST_LDADD)
-tests_ospfd_test_ospf_spf_SOURCES = tests/ospfd/test_ospf_spf.c tests/ospfd/common.c tests/ospfd/topologies.c
-
-tests_lib_cxxcompat_CFLAGS = $(TESTS_CFLAGS) $(CXX_COMPAT_CFLAGS) $(WERROR)
-tests_lib_cxxcompat_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_cxxcompat_SOURCES = tests/lib/cxxcompat.c
-tests_lib_cxxcompat_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_cli_test_cli_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_cli_test_cli_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_cli_test_cli_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_cli_test_cli_SOURCES = tests/lib/cli/test_cli.c tests/lib/cli/common_cli.c
-tests_lib_cli_test_commands_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_cli_test_commands_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_cli_test_commands_LDADD = $(ALL_TESTS_LDADD)
-nodist_tests_lib_cli_test_commands_SOURCES = tests/lib/cli/test_commands_defun.c
-tests_lib_cli_test_commands_SOURCES = tests/lib/cli/test_commands.c tests/helpers/c/prng.c
-tests_lib_northbound_test_oper_data_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_northbound_test_oper_data_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_northbound_test_oper_data_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_northbound_test_oper_data_SOURCES = tests/lib/northbound/test_oper_data.c
-nodist_tests_lib_northbound_test_oper_data_SOURCES = yang/frr-test-module.yang.c
-if GRPC
-tests_lib_test_grpc_CXXFLAGS = $(WERROR) $(TESTS_CXXFLAGS)
-tests_lib_test_grpc_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_grpc_LDADD = $(GRPC_TESTS_LDADD)
-tests_lib_test_grpc_SOURCES = tests/lib/test_grpc.cpp
-endif
-tests_lib_test_assert_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_assert_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_assert_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_assert_SOURCES = tests/lib/test_assert.c
-tests_lib_test_atomlist_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_atomlist_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_atomlist_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_atomlist_SOURCES = tests/lib/test_atomlist.c
-tests_lib_test_buffer_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_buffer_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_buffer_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_buffer_SOURCES = tests/lib/test_buffer.c
-tests_lib_test_checksum_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_checksum_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_checksum_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_checksum_SOURCES = tests/lib/test_checksum.c
-if SCRIPTING
-tests_lib_test_frrlua_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_frrlua_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_frrlua_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_frrlua_SOURCES = tests/lib/test_frrlua.c
-tests_lib_test_frrscript_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_frrscript_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_frrscript_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_frrscript_SOURCES = tests/lib/test_frrscript.c
-endif
-tests_lib_test_graph_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_graph_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_graph_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_graph_SOURCES = tests/lib/test_graph.c
-tests_lib_test_heavy_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_heavy_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_heavy_LDADD = $(ALL_TESTS_LDADD) -lm
-tests_lib_test_heavy_SOURCES = tests/lib/test_heavy.c tests/helpers/c/main.c
-tests_lib_test_heavy_thread_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_heavy_thread_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_heavy_thread_LDADD = $(ALL_TESTS_LDADD) -lm
-tests_lib_test_heavy_thread_SOURCES = tests/lib/test_heavy_thread.c tests/helpers/c/main.c
-tests_lib_test_heavy_wq_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_heavy_wq_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_heavy_wq_LDADD = $(ALL_TESTS_LDADD) -lm
-tests_lib_test_heavy_wq_SOURCES = tests/lib/test_heavy_wq.c tests/helpers/c/main.c
-tests_lib_test_idalloc_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_idalloc_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_idalloc_SOURCES = tests/lib/test_idalloc.c
-tests_lib_test_memory_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_memory_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_memory_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_memory_SOURCES = tests/lib/test_memory.c
-tests_lib_test_nexthop_iter_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_nexthop_iter_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_nexthop_iter_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_nexthop_iter_SOURCES = tests/lib/test_nexthop_iter.c tests/helpers/c/prng.c
-tests_lib_test_nexthop_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_nexthop_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_nexthop_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_nexthop_SOURCES = tests/lib/test_nexthop.c
-tests_lib_test_ntop_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_ntop_CPPFLAGS = $(CPPFLAGS_BASE) # no assert override
-tests_lib_test_ntop_LDADD = # none
-tests_lib_test_ntop_SOURCES = tests/lib/test_ntop.c tests/helpers/c/prng.c
-tests_lib_test_plist_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_plist_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_plist_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_plist_SOURCES = tests/lib/test_plist.c tests/lib/cli/common_cli.c
-tests_lib_test_prefix2str_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_prefix2str_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_prefix2str_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_prefix2str_SOURCES = tests/lib/test_prefix2str.c tests/helpers/c/prng.c
-tests_lib_test_printfrr_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_printfrr_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_printfrr_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_printfrr_SOURCES = tests/lib/test_printfrr.c
-tests_lib_test_privs_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_privs_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_privs_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_privs_SOURCES = tests/lib/test_privs.c
-tests_lib_test_resolver_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_resolver_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_resolver_LDADD = $(ALL_TESTS_LDADD) lib/libfrrcares.la
-tests_lib_test_resolver_SOURCES = tests/lib/test_resolver.c tests/lib/cli/common_cli.c
-tests_lib_test_ringbuf_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_ringbuf_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_ringbuf_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_ringbuf_SOURCES = tests/lib/test_ringbuf.c
-tests_lib_test_segv_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_segv_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_segv_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_segv_SOURCES = tests/lib/test_segv.c
-tests_lib_test_seqlock_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_seqlock_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_seqlock_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_seqlock_SOURCES = tests/lib/test_seqlock.c
-tests_lib_test_sig_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_sig_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_sig_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_sig_SOURCES = tests/lib/test_sig.c
-tests_lib_test_skiplist_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_skiplist_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_skiplist_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_skiplist_SOURCES = tests/lib/test_skiplist.c
-tests_lib_test_srcdest_table_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_srcdest_table_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_srcdest_table_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_srcdest_table_SOURCES = tests/lib/test_srcdest_table.c tests/helpers/c/prng.c
-tests_lib_test_stream_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_stream_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_stream_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_stream_SOURCES = tests/lib/test_stream.c
-tests_lib_test_table_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_table_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_table_LDADD = $(ALL_TESTS_LDADD) -lm
-tests_lib_test_table_SOURCES = tests/lib/test_table.c
-tests_lib_test_timer_correctness_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_timer_correctness_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_timer_correctness_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_timer_correctness_SOURCES = tests/lib/test_timer_correctness.c tests/helpers/c/prng.c
-tests_lib_test_timer_performance_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_timer_performance_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_timer_performance_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_timer_performance_SOURCES = tests/lib/test_timer_performance.c tests/helpers/c/prng.c
-tests_lib_test_ttable_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_ttable_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_ttable_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_ttable_SOURCES = tests/lib/test_ttable.c
-tests_lib_test_typelist_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_typelist_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_typelist_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_typelist_SOURCES = tests/lib/test_typelist.c tests/helpers/c/prng.c
-tests_lib_test_versioncmp_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_versioncmp_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_versioncmp_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_versioncmp_SOURCES = tests/lib/test_versioncmp.c
-tests_lib_test_xref_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_xref_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_xref_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_xref_SOURCES = tests/lib/test_xref.c
-tests_lib_test_zlog_CFLAGS = $(TESTS_CFLAGS)
-tests_lib_test_zlog_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_zlog_LDADD = $(ALL_TESTS_LDADD)
-tests_lib_test_zlog_SOURCES = tests/lib/test_zlog.c
-tests_lib_test_zmq_CFLAGS = $(TESTS_CFLAGS) $(ZEROMQ_CFLAGS)
-tests_lib_test_zmq_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_zmq_LDADD = lib/libfrrzmq.la $(ALL_TESTS_LDADD) $(ZEROMQ_LIBS)
-tests_lib_test_zmq_SOURCES = tests/lib/test_zmq.c
-
-tests_ospf6d_test_lsdb_CFLAGS = $(TESTS_CFLAGS)
-tests_ospf6d_test_lsdb_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_ospf6d_test_lsdb_LDADD = $(OSPF6_TEST_LDADD)
-tests_ospf6d_test_lsdb_SOURCES = tests/ospf6d/test_lsdb.c tests/lib/cli/common_cli.c
-
-tests_zebra_test_lm_plugin_CFLAGS = $(TESTS_CFLAGS)
-tests_zebra_test_lm_plugin_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_zebra_test_lm_plugin_LDADD = $(ZEBRA_TEST_LDADD)
-tests_zebra_test_lm_plugin_SOURCES = tests/zebra/test_lm_plugin.c
EXTRA_DIST += \
tests/runtests.py \
- tests/bgpd/test_aspath.py \
- tests/bgpd/test_capability.py \
- tests/bgpd/test_ecommunity.py \
- tests/bgpd/test_mp_attr.py \
- tests/bgpd/test_mpath.py \
- tests/bgpd/test_peer_attr.py \
tests/helpers/python/frrsix.py \
tests/helpers/python/frrtest.py \
- tests/isisd/test_fuzz_isis_tlv.py \
- tests/isisd/test_fuzz_isis_tlv_tests.h.gz \
- tests/isisd/test_isis_lspdb.py \
- tests/isisd/test_isis_spf.py \
- tests/isisd/test_isis_spf.in \
- tests/isisd/test_isis_spf.refout \
- tests/isisd/test_isis_vertex_queue.py \
- tests/ospfd/test_ospf_spf.py \
- tests/ospfd/test_ospf_spf.in \
- tests/ospfd/test_ospf_spf.refout \
- tests/lib/cli/test_commands.in \
- tests/lib/cli/test_commands.py \
- tests/lib/cli/test_commands.refout \
- tests/lib/cli/test_cli.in \
- tests/lib/cli/test_cli.py \
- tests/lib/cli/test_cli.refout \
- tests/lib/northbound/test_oper_data.in \
- tests/lib/northbound/test_oper_data.py \
- tests/lib/northbound/test_oper_data.refout \
- tests/lib/test_assert.py \
- tests/lib/test_atomlist.py \
- tests/lib/test_nexthop_iter.py \
- tests/lib/test_nexthop.py \
- tests/lib/test_ntop.py \
- tests/lib/test_prefix2str.py \
- tests/lib/test_printfrr.py \
- tests/lib/test_ringbuf.py \
- tests/lib/test_srcdest_table.py \
- tests/lib/test_stream.py \
- tests/lib/test_stream.refout \
- tests/lib/test_table.py \
- tests/lib/test_timer_correctness.py \
- tests/lib/test_ttable.py \
- tests/lib/test_ttable.refout \
- tests/lib/test_typelist.py \
- tests/lib/test_versioncmp.py \
- tests/lib/test_xref.py \
- tests/lib/test_zlog.py \
- tests/lib/test_graph.py \
- tests/lib/test_graph.refout \
- tests/ospf6d/test_lsdb.py \
- tests/ospf6d/test_lsdb.in \
- tests/ospf6d/test_lsdb.refout \
- tests/zebra/test_lm_plugin.py \
- tests/zebra/test_lm_plugin.refout \
# end
-
-if SCRIPTING
-EXTRA_DIST += \
- tests/lib/test_frrscript.py \
- tests/lib/test_frrlua.py \
- #end
-endif
+check_PROGRAMS =
+PYTEST_IGNORE =
.PHONY: tests/tests.xml
tests/tests.xml: $(check_PROGRAMS)
- ( cd tests; $(PYTHON) ../$(srcdir)/tests/runtests.py --junitxml=tests.xml -v ../$(srcdir)/tests $(IGNORE_BGPD) $(IGNORE_ISISD) $(IGNORE_OSPFD) $(IGNORE_OSPF6D); )
+ ( cd tests; $(PYTHON) ../$(srcdir)/tests/runtests.py --junitxml=tests.xml -v ../$(srcdir)/tests $(PYTEST_IGNORE); )
check: tests/tests.xml
clean-local: clean-tests
.PHONY: clean-tests
clean-tests:
-rm -f tests/tests.xml
+
+
+# CHEAT SHEET:
+#
+### conditional (if needed) - ONLY for "check_PROGRAMS +=" line!
+# if DAEMON
+# check_PROGRAMS += tests/daemon/test_foo
+# endif
+### CFLAGS/CPPFLAGS/LDADD as usual, extend on top of TESTS_XYZFLAGS
+# tests_daemon_test_foo_CFLAGS = $(TESTS_CFLAGS)
+# tests_daemon_test_foo_CPPFLAGS = $(TESTS_CPPFLAGS)
+# tests_daemon_test_foo_LDADD = $(ALL_TESTS_LDADD)
+# tests_daemon_test_foo_SOURCES = tests/daemon/test_foo.c
+### don't forget "nodist_" for autogenerated source files, & add to CLEANFILES
+# nodist_tests_daemon_test_foo_SOURCES = tests/daemon/test_foo_autogen.c
+# CLEANFILES += tests/daemon/test_foo_autogen.c
+### clippy_scan works normally
+# clippy_scan += tests/daemon/test_foo.c
+### header files for tests go into "noinst_HEADERS"
+# noinst_HEADERS += tests/daemon/foo.h
+### all python scripts & auxiliary files are added into EXTRA_DIST
+# EXTRA_DIST += tests/daemon/test_foo.py
+#
+
+include tests/bgpd/subdir.am
+include tests/isisd/subdir.am
+include tests/ospfd/subdir.am
+include tests/ospf6d/subdir.am
+include tests/zebra/subdir.am
+include tests/lib/subdir.am
diff --git a/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_routes.py b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_routes.py
index c8c03025c2..c1a9499cbe 100644
--- a/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_routes.py
+++ b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/check_routes.py
@@ -281,10 +281,29 @@ bgpribRequireVpnRoutes(
# r1 vtysh -c "show bgp vrf r1-cust1 ipv4"
-
########################################################################
# PE routers: VRFs contain routes from remote customer nets
########################################################################
+# First let's spot check and ensure that some of the routes
+# have showed up and been best path'd
+# After the first two are good. It's probably ok
+# to look at the rest of the routes in the vrf
+luCommand(
+ "r1",
+ 'vtysh -c "show bgp vrf r1-cust1 ipv4 uni 99.0.0.4/32"',
+ "1 available, best",
+ "wait",
+ "Ensure 99.0.0.4 shows up",
+ 10
+ )
+luCommand(
+ "r1",
+ 'vtysh -c "show bgp vrf r1-cust1 ipv4 uni 5.1.0.0/24"',
+ "2 available, best",
+ "wait",
+ "Ensure 5.1.0.0 shows up",
+ 10
+ )
want_r1_remote_cust1_routes = [
{"p": "5.1.0.0/24", "n": "3.3.3.3", "bp": False},
{"p": "5.1.0.0/24", "n": "99.0.0.1", "bp": True},
@@ -313,7 +332,22 @@ bgpribRequireUnicastRoutes(
want_r1_remote_cust1_routes,
debug=False,
)
-
+luCommand(
+ "r3",
+ 'vtysh -c "show bgp vrf r3-cust1 ipv4 uni 99.0.0.4/32"',
+ "1 available, best",
+ "wait",
+ "Ensure 99.0.0.4 shows up",
+ 10
+ )
+luCommand(
+ "r3",
+ 'vtysh -c "show bgp vrf r3-cust1 ipv4 uni 5.1.0.0/24"',
+ "2 available, best",
+ "wait",
+ "Ensure 5.1.0.0 shows up",
+ 10
+ )
want_r3_remote_cust1_routes = [
{"p": "5.1.0.0/24", "n": "1.1.1.1", "bp": True},
{"p": "5.1.0.0/24", "n": "99.0.0.2", "bp": False},
@@ -342,6 +376,30 @@ bgpribRequireUnicastRoutes(
debug=False,
)
+luCommand(
+ "r4",
+ 'vtysh -c "show bgp vrf r4-cust1 ipv4 uni 99.0.0.4/32"',
+ "1 available, best",
+ "wait",
+ "Ensure 99.0.0.4 shows up",
+ 10
+ )
+luCommand(
+ "r4",
+ 'vtysh -c "show bgp vrf r4-cust1 ipv4 uni 5.1.0.0/24"',
+ "2 available, best",
+ "wait",
+ "Ensure 5.1.0.0 shows up",
+ 10
+ )
+luCommand(
+ "r4",
+ 'vtysh -c "show bgp vrf r4-cust1 ipv4 uni 99.0.0.2/32"',
+ "1 available, best",
+ "wait",
+ "Ensure 99.0.0.2 shows up",
+ 10
+ )
want_r4_remote_cust1_routes = [
{"p": "5.1.0.0/24", "n": "1.1.1.1", "bp": True},
{"p": "5.1.0.0/24", "n": "3.3.3.3", "bp": False},
diff --git a/tests/zebra/subdir.am b/tests/zebra/subdir.am
new file mode 100644
index 0000000000..d9fcde80a9
--- /dev/null
+++ b/tests/zebra/subdir.am
@@ -0,0 +1,17 @@
+if !ZEBRA
+PYTEST_IGNORE += --ignore=zebra/
+endif
+ZEBRA_TEST_LDADD = zebra/label_manager.o $(ALL_TESTS_LDADD)
+
+
+if ZEBRA
+check_PROGRAMS += tests/zebra/test_lm_plugin
+endif
+tests_zebra_test_lm_plugin_CFLAGS = $(TESTS_CFLAGS)
+tests_zebra_test_lm_plugin_CPPFLAGS = $(TESTS_CPPFLAGS)
+tests_zebra_test_lm_plugin_LDADD = $(ZEBRA_TEST_LDADD)
+tests_zebra_test_lm_plugin_SOURCES = tests/zebra/test_lm_plugin.c
+EXTRA_DIST += \
+ tests/zebra/test_lm_plugin.py \
+ tests/zebra/test_lm_plugin.refout \
+ # end