svn commit: r356596 - head/tests/sys/net/routing

Alexander V. Chernikov melifaro at FreeBSD.org
Fri Jan 10 08:54:47 UTC 2020


Author: melifaro
Date: Fri Jan 10 08:54:46 2020
New Revision: 356596
URL: https://svnweb.freebsd.org/changeset/base/356596

Log:
  Include human-readable list of rtm flags along with bitmask in error messages
   for rtsock tests.
  
  MFC after:	2 weeks

Modified:
  head/tests/sys/net/routing/rtsock_print.h
  head/tests/sys/net/routing/test_rtsock_l3.c

Modified: head/tests/sys/net/routing/rtsock_print.h
==============================================================================
--- head/tests/sys/net/routing/rtsock_print.h	Fri Jan 10 04:13:16 2020	(r356595)
+++ head/tests/sys/net/routing/rtsock_print.h	Fri Jan 10 08:54:46 2020	(r356596)
@@ -132,7 +132,15 @@ rtsock_print_cmdtype(int cmd)
 	return (msgtypes[cmd]);
 }
 
+char *
+rtsock_print_rtm_flags(char *buf, int buflen, int rtm_flags)
+{
 
+	_printb(buf, buflen, rtm_flags, routeflags);
+	return (buf);
+}
+
+
 #define	_PRINTX(fmt, ...)	do {				\
 	one_len = snprintf(ptr, rem_len, fmt, __VA_ARGS__);	\
 	ptr += one_len;						\
@@ -262,7 +270,7 @@ rtsock_print_rtm(struct rt_msghdr *rtm)
 	printf("Got message of size %hu on %s\n", rtm->rtm_msglen, buf);
 
 	char flags_buf[256];
-	_printb(flags_buf, sizeof(flags_buf), rtm->rtm_flags, routeflags);
+	rtsock_print_rtm_flags(flags_buf, sizeof(flags_buf), rtm->rtm_flags);
 
 	printf("%s: len %hu, pid: %d, seq %d, errno %d, flags: %s\n", msgtypes[rtm->rtm_type],
 		rtm->rtm_msglen, rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno, flags_buf);

Modified: head/tests/sys/net/routing/test_rtsock_l3.c
==============================================================================
--- head/tests/sys/net/routing/test_rtsock_l3.c	Fri Jan 10 04:13:16 2020	(r356595)
+++ head/tests/sys/net/routing/test_rtsock_l3.c	Fri Jan 10 08:54:46 2020	(r356596)
@@ -196,8 +196,18 @@ verify_route_message_extra(struct rt_msghdr *rtm, int 
 	RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->rtm_index == ifindex,
 	    "expected ifindex %d, got %d", ifindex, rtm->rtm_index);
 
-	RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->rtm_flags == rtm_flags,
-	    "expected flags: 0x%X, got 0x%X", rtm_flags, rtm->rtm_flags);
+	if (rtm->rtm_flags != rtm_flags) {
+		char got_flags[64], expected_flags[64];
+		rtsock_print_rtm_flags(got_flags, sizeof(got_flags),
+		    rtm->rtm_flags);
+		rtsock_print_rtm_flags(expected_flags, sizeof(expected_flags),
+		    rtm_flags);
+
+		RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->rtm_flags == rtm_flags,
+		    "expected flags: 0x%X %s, got 0x%X %s",
+		    rtm_flags, expected_flags,
+		    rtm->rtm_flags, got_flags);
+	}
 }
 
 static void


More information about the svn-src-head mailing list