Date: Wed, 12 Feb 2020 21:16:31 +0000 (UTC) From: "Alexander V. Chernikov" <melifaro@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r357843 - head/tests/sys/net/routing Message-ID: <202002122116.01CLGVtC052108@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: melifaro Date: Wed Feb 12 21:16:30 2020 New Revision: 357843 URL: https://svnweb.freebsd.org/changeset/base/357843 Log: * Fix flaking lle tests by filtering out non-relevant rtsock messages. * Consistently use RTM_DECLARE_ROOT_TEST() macro. * Temporarily remove iftype validation from IPv6 lle notifications. Reported by: kp Modified: head/tests/sys/net/routing/test_rtsock_lladdr.c Modified: head/tests/sys/net/routing/test_rtsock_lladdr.c ============================================================================== --- head/tests/sys/net/routing/test_rtsock_lladdr.c Wed Feb 12 20:18:29 2020 (r357842) +++ head/tests/sys/net/routing/test_rtsock_lladdr.c Wed Feb 12 21:16:30 2020 (r357843) @@ -98,14 +98,18 @@ prepare_route_message(struct rt_msghdr *rtm, int cmd, #define DESCRIBE_ROOT_TEST(_msg) config_describe_root_test(tc, _msg) #define CLEANUP_AFTER_TEST config_generic_cleanup(config_setup(tc)) - -ATF_TC_WITH_CLEANUP(rtm_add_v6_ll_lle_success); -ATF_TC_HEAD(rtm_add_v6_ll_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests addition of link-local IPv6 ND entry"); +#define RTM_DECLARE_ROOT_TEST(_name, _descr) \ +ATF_TC_WITH_CLEANUP(_name); \ +ATF_TC_HEAD(_name, tc) \ +{ \ + DESCRIBE_ROOT_TEST(_descr); \ +} \ +ATF_TC_CLEANUP(_name, tc) \ +{ \ + CLEANUP_AFTER_TEST; \ } +RTM_DECLARE_ROOT_TEST(rtm_add_v6_ll_lle_success, "Tests addition of link-local IPv6 ND entry"); ATF_TC_BODY(rtm_add_v6_ll_lle_success, tc) { DECLARE_TEST_VARS; @@ -134,7 +138,7 @@ ATF_TC_BODY(rtm_add_v6_ll_lle_success, tc) * af=link len=54 sdl_index=3 if_name=tap4242 addr=52:54:00:14:E3:10 */ - rtm = rtsock_read_rtm(c->rtsock_fd, buffer, sizeof(buffer)); + rtm = rtsock_read_rtm_reply(c->rtsock_fd, buffer, sizeof(buffer), rtm->rtm_seq); sa = rtsock_find_rtm_sa(rtm, RTA_DST); ret = sa_equal_msg(sa, (struct sockaddr *)&sin6, msg, sizeof(msg)); @@ -145,23 +149,15 @@ ATF_TC_BODY(rtm_add_v6_ll_lle_success, tc) ret = sa_equal_msg_flags(sa, (struct sockaddr *)ðer, msg, sizeof(msg), sa_flags); RTSOCK_ATF_REQUIRE_MSG(rtm, ret != 0, "GATEWAY sa diff: %s", msg); +#if 0 + /* Disable the check until https://reviews.freebsd.org/D22003 merge */ /* Some additional checks to verify kernel has filled in interface data */ struct sockaddr_dl *sdl = (struct sockaddr_dl *)sa; RTSOCK_ATF_REQUIRE_MSG(rtm, sdl->sdl_type > 0, "sdl_type not set"); +#endif } -ATF_TC_CLEANUP(rtm_add_v6_ll_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - -ATF_TC_WITH_CLEANUP(rtm_add_v6_gu_lle_success); -ATF_TC_HEAD(rtm_add_v6_gu_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests addition of global IPv6 ND entry"); -} - +RTM_DECLARE_ROOT_TEST(rtm_add_v6_gu_lle_success, "Tests addition of global IPv6 ND entry"); ATF_TC_BODY(rtm_add_v6_gu_lle_success, tc) { DECLARE_TEST_VARS; @@ -194,7 +190,7 @@ ATF_TC_BODY(rtm_add_v6_gu_lle_success, tc) /* XXX: where is uRPF?! this should fail */ - rtm = rtsock_read_rtm(c->rtsock_fd, buffer, sizeof(buffer)); + rtm = rtsock_read_rtm_reply(c->rtsock_fd, buffer, sizeof(buffer), rtm->rtm_seq); sa = rtsock_find_rtm_sa(rtm, RTA_DST); ret = sa_equal_msg(sa, (struct sockaddr *)&sin6, msg, sizeof(msg)); @@ -205,23 +201,15 @@ ATF_TC_BODY(rtm_add_v6_gu_lle_success, tc) ret = sa_equal_msg_flags(sa, (struct sockaddr *)ðer, msg, sizeof(msg), sa_flags); RTSOCK_ATF_REQUIRE_MSG(rtm, ret != 0, "GATEWAY sa diff: %s", msg); +#if 0 + /* Disable the check until https://reviews.freebsd.org/D22003 merge */ /* Some additional checks to verify kernel has filled in interface data */ struct sockaddr_dl *sdl = (struct sockaddr_dl *)sa; RTSOCK_ATF_REQUIRE_MSG(rtm, sdl->sdl_type > 0, "sdl_type not set"); +#endif } -ATF_TC_CLEANUP(rtm_add_v6_gu_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - -ATF_TC_WITH_CLEANUP(rtm_add_v4_gu_lle_success); -ATF_TC_HEAD(rtm_add_v4_gu_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests addition of IPv4 ARP entry"); -} - +RTM_DECLARE_ROOT_TEST(rtm_add_v4_gu_lle_success, "Tests addition of IPv4 ARP entry"); ATF_TC_BODY(rtm_add_v4_gu_lle_success, tc) { DECLARE_TEST_VARS; @@ -250,7 +238,7 @@ ATF_TC_BODY(rtm_add_v4_gu_lle_success, tc) * af=link len=54 sdl_index=3 if_name=tap4242 addr=52:54:00:14:E3:10 */ - rtm = rtsock_read_rtm(c->rtsock_fd, buffer, sizeof(buffer)); + rtm = rtsock_read_rtm_reply(c->rtsock_fd, buffer, sizeof(buffer), rtm->rtm_seq); sa = rtsock_find_rtm_sa(rtm, RTA_DST); ret = sa_equal_msg(sa, (struct sockaddr *)&sin, msg, sizeof(msg)); @@ -266,18 +254,7 @@ ATF_TC_BODY(rtm_add_v4_gu_lle_success, tc) */ } -ATF_TC_CLEANUP(rtm_add_v4_gu_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - -ATF_TC_WITH_CLEANUP(rtm_del_v6_ll_lle_success); -ATF_TC_HEAD(rtm_del_v6_ll_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests removal of link-local IPv6 ND entry"); -} - +RTM_DECLARE_ROOT_TEST(rtm_del_v6_ll_lle_success, "Tests removal of link-local IPv6 ND entry"); ATF_TC_BODY(rtm_del_v6_ll_lle_success, tc) { DECLARE_TEST_VARS; @@ -323,18 +300,7 @@ ATF_TC_BODY(rtm_del_v6_ll_lle_success, tc) */ } -ATF_TC_CLEANUP(rtm_del_v6_ll_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - -ATF_TC_WITH_CLEANUP(rtm_del_v6_gu_lle_success); -ATF_TC_HEAD(rtm_del_v6_gu_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests removal of global IPv6 ND entry"); -} - +RTM_DECLARE_ROOT_TEST(rtm_del_v6_gu_lle_success, "Tests removal of global IPv6 ND entry"); ATF_TC_BODY(rtm_del_v6_gu_lle_success, tc) { DECLARE_TEST_VARS; @@ -380,18 +346,7 @@ ATF_TC_BODY(rtm_del_v6_gu_lle_success, tc) */ } -ATF_TC_CLEANUP(rtm_del_v6_gu_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - -ATF_TC_WITH_CLEANUP(rtm_del_v4_gu_lle_success); -ATF_TC_HEAD(rtm_del_v4_gu_lle_success, tc) -{ - - DESCRIBE_ROOT_TEST("Tests removal of IPv4 ARP entry"); -} - +RTM_DECLARE_ROOT_TEST(rtm_del_v4_gu_lle_success, "Tests removal of IPv4 ARP entry"); ATF_TC_BODY(rtm_del_v4_gu_lle_success, tc) { DECLARE_TEST_VARS; @@ -413,8 +368,6 @@ ATF_TC_BODY(rtm_del_v4_gu_lle_success, tc) rtsock_send_rtm(c->rtsock_fd, rtm); - rtsock_read_rtm(c->rtsock_fd, buffer, sizeof(buffer)); - /* We successfully added an entry, let's try to remove it. */ prepare_route_message(rtm, RTM_DELETE, (struct sockaddr *)&sin, (struct sockaddr *)ðer); @@ -437,12 +390,6 @@ ATF_TC_BODY(rtm_del_v4_gu_lle_success, tc) * TODO: Currently kernel code does not set sdl_type, contrary to IPv6. */ } - -ATF_TC_CLEANUP(rtm_del_v4_gu_lle_success, tc) -{ - CLEANUP_AFTER_TEST; -} - ATF_TP_ADD_TCS(tp) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202002122116.01CLGVtC052108>