Module Name:    src
Committed By:   bouyer
Date:           Sun Feb  5 12:18:20 UTC 2017

Modified Files:
        src/tests/net/can [bouyer-socketcan]: h_canutils.c t_can.c
            t_canfilter.c

Log Message:
Factor out creation of socket with CAN_RAW_RECV_OWN_MSGS


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/tests/net/can/h_canutils.c
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/tests/net/can/t_can.c
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/tests/net/can/t_canfilter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/net/can/h_canutils.c
diff -u src/tests/net/can/h_canutils.c:1.1.2.3 src/tests/net/can/h_canutils.c:1.1.2.4
--- src/tests/net/can/h_canutils.c:1.1.2.3	Sun Feb  5 12:03:23 2017
+++ src/tests/net/can/h_canutils.c	Sun Feb  5 12:18:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: h_canutils.c,v 1.1.2.3 2017/02/05 12:03:23 bouyer Exp $	*/
+/*	$NetBSD: h_canutils.c,v 1.1.2.4 2017/02/05 12:18:20 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: h_canutils.c,v 1.1.2.3 2017/02/05 12:03:23 bouyer Exp $");
+__RCSID("$NetBSD: h_canutils.c,v 1.1.2.4 2017/02/05 12:18:20 bouyer Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -181,3 +181,20 @@ can_bind(int s, const char *ifname)
 	}
 	return ifr.ifr_ifindex;
 }
+
+int
+can_socket_with_own(void)
+{
+	int s;
+	int v;
+
+	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
+		atf_tc_fail_errno("CAN socket");
+	}
+	v = 1;
+	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
+	    &v, sizeof(v)) < 0) {
+		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
+	}
+	return s;
+}

Index: src/tests/net/can/t_can.c
diff -u src/tests/net/can/t_can.c:1.1.2.5 src/tests/net/can/t_can.c:1.1.2.6
--- src/tests/net/can/t_can.c:1.1.2.5	Sun Feb  5 12:03:23 2017
+++ src/tests/net/can/t_can.c	Sun Feb  5 12:18:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_can.c,v 1.1.2.5 2017/02/05 12:03:23 bouyer Exp $	*/
+/*	$NetBSD: t_can.c,v 1.1.2.6 2017/02/05 12:18:20 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: t_can.c,v 1.1.2.5 2017/02/05 12:03:23 bouyer Exp $");
+__RCSID("$NetBSD: t_can.c,v 1.1.2.6 2017/02/05 12:18:20 bouyer Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -181,10 +181,7 @@ ATF_TC_BODY(canwritelo, tc)
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
+	s = can_socket_with_own();
 
 	can_bind(s, ifname);
 
@@ -197,20 +194,7 @@ ATF_TC_BODY(canwritelo, tc)
 	ATF_CHECK_MSG(vlen == sizeof(v), "getsockopt(CAN_RAW_LOOPBACK) returns wrong len %d", vlen);
 	ATF_CHECK_MSG(v == 1, "CAN_RAW_LOOPBACK is not on by default");
 
-	/* check sockopt CAN_RAW_RECV_OWN_MSGS, and set it */
-	vlen = sizeof(v);
-	if (rump_sys_getsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, &vlen) < 0) {
-		atf_tc_fail_errno("getsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
-	ATF_CHECK_MSG(vlen == sizeof(v), "getsockopt(CAN_RAW_RECV_OWN_MSGS) returns wrong len %d", vlen);
-	ATF_CHECK_MSG(v == 0, "CAN_RAW_RECV_OWN_MSGS is not off by default");
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
-	/* check sockopt CAN_RAW_RECV_OWN_MSGS again */
+	/* check that sockopt CAN_RAW_RECV_OWN_MSGS is on */
 	vlen = sizeof(v);
 	if (rump_sys_getsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
 	    &v, &vlen) < 0) {
@@ -306,16 +290,7 @@ ATF_TC_BODY(cansendtolo, tc)
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s = can_socket_with_own();
 
 	strcpy(ifr.ifr_name, ifname );
 	if ((rv = rump_sys_ioctl(s, SIOCGIFINDEX, &ifr)) < 0) {
@@ -378,15 +353,7 @@ ATF_TC_BODY(cansendtowrite, tc)
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s = can_socket_with_own();
 
 	strcpy(ifr.ifr_name, ifname );
 	if ((rv = rump_sys_ioctl(s, SIOCGIFINDEX, &ifr)) < 0) {
@@ -459,22 +426,13 @@ ATF_TC_BODY(canreadlocal, tc)
 	cf_send.data[3] = 0xef;
 
 
-	s1 = -1;
 	if ((s1 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
 		atf_tc_fail_errno("CAN socket");
 	}
 
 	/* create a second socket */
 
-	s2 = -1;
-	if ((s2 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s2, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s2 = can_socket_with_own();
 
 	can_bind(s2, ifname);
 
@@ -541,15 +499,7 @@ ATF_TC_BODY(canrecvfrom, tc)
 
 	/* create a second socket */
 
-	s2 = -1;
-	if ((s2 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s2, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s2 = can_socket_with_own();
 
 	ifindex = can_bind(s2, ifname);
 
@@ -613,29 +563,13 @@ ATF_TC_BODY(canbindfilter, tc)
 	cf_send.data[3] = 0xef;
 
 
-	s1 = -1;
-	if ((s1 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s1, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s1 = can_socket_with_own();
 
 	can_bind(s1, ifname);
 
 	/* create a second socket */
 
-	s2 = -1;
-	if ((s2 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s2, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s2 = can_socket_with_own();
 
 	ifindex2 = can_bind(s2, ifname2);
 
@@ -700,15 +634,7 @@ ATF_TC_BODY(cannoloop, tc)
 	cf_send.data[3] = 0xef;
 
 
-	s1 = -1;
-	if ((s1 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s1, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s1 = can_socket_with_own();
 	v = 0;
 	if (rump_sys_setsockopt(s1, SOL_CAN_RAW, CAN_RAW_LOOPBACK,
 	    &v, sizeof(v)) < 0) {
@@ -726,16 +652,7 @@ ATF_TC_BODY(cannoloop, tc)
 	ifindex = can_bind(s1, ifname);
 
 	/* create a second socket */
-
-	s2 = -1;
-	if ((s2 = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-	v = 1;
-	if (rump_sys_setsockopt(s2, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
+	s2 = can_socket_with_own();
 
 	if (rump_sys_write(s1, &cf_send, sizeof(cf_send)) < 0) {
 		atf_tc_fail_errno("write");

Index: src/tests/net/can/t_canfilter.c
diff -u src/tests/net/can/t_canfilter.c:1.1.2.2 src/tests/net/can/t_canfilter.c:1.1.2.3
--- src/tests/net/can/t_canfilter.c:1.1.2.2	Sun Feb  5 12:03:23 2017
+++ src/tests/net/can/t_canfilter.c	Sun Feb  5 12:18:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_canfilter.c,v 1.1.2.2 2017/02/05 12:03:23 bouyer Exp $	*/
+/*	$NetBSD: t_canfilter.c,v 1.1.2.3 2017/02/05 12:18:20 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: t_canfilter.c,v 1.1.2.2 2017/02/05 12:03:23 bouyer Exp $");
+__RCSID("$NetBSD: t_canfilter.c,v 1.1.2.3 2017/02/05 12:18:20 bouyer Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -69,26 +69,17 @@ ATF_TC_HEAD(canfilter_basic, tc)
 ATF_TC_BODY(canfilter_basic, tc)
 {
 	const char ifname[] = "canlo0";
-	int s, rv, v, vlen;
+	int s, rv;
 	struct can_frame cf_send, cf_receive;
 	struct can_filter cfi;
 
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
+	s = can_socket_with_own();
 
 	can_bind(s, ifname);
 
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
-
 	/* set filter */
 #define MY_ID	1
 	cfi.can_id = MY_ID;
@@ -204,7 +195,7 @@ ATF_TC_HEAD(canfilter_null, tc)
 ATF_TC_BODY(canfilter_null, tc)
 {
 	const char ifname[] = "canlo0";
-	int s, rv, v, vlen;
+	int s, rv;
 	struct can_frame cf_send, cf_receive;
 	struct can_filter cfi[2];
 	int cfilen;
@@ -212,19 +203,9 @@ ATF_TC_BODY(canfilter_null, tc)
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
-
+	s = can_socket_with_own();
 	can_bind(s, ifname);
 
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
-
 	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER,
 	    NULL,  0) < 0) {
 		atf_tc_fail_errno("setsockopt(CAN_RAW_FILTER)");
@@ -287,26 +268,17 @@ ATF_TC_HEAD(canfilter_multiple, tc)
 ATF_TC_BODY(canfilter_multiple, tc)
 {
 	const char ifname[] = "canlo0";
-	int s, rv, v, vlen;
+	int s, rv;
 	struct can_frame cf_send, cf_receive;
 	struct can_filter cfi[2];
 
 	rump_init();
 	cancfg_rump_createif(ifname);
 
-	s = -1;
-	if ((s = rump_sys_socket(AF_CAN, SOCK_RAW, CAN_RAW)) < 0) {
-		atf_tc_fail_errno("CAN socket");
-	}
+	s = can_socket_with_own();
 
 	can_bind(s, ifname);
 
-	v = 1;
-	if (rump_sys_setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS,
-	    &v, sizeof(v)) < 0) {
-		atf_tc_fail_errno("setsockopt(CAN_RAW_RECV_OWN_MSGS)");
-	}
-
 	/* set filter: accept MY_ID and MY_ID+1 */
 #define MY_ID	1
 	cfi[0].can_id = MY_ID;
@@ -424,7 +396,7 @@ ATF_TC_HEAD(canfilter_get, tc)
 ATF_TC_BODY(canfilter_get, tc)
 {
 	const char ifname[] = "canlo0";
-	int s, rv, v, vlen;
+	int s, rv;
 	struct sockaddr_can sa;
 	struct ifreq ifr;
 	struct can_frame cf_send, cf_receive;

Reply via email to