@@ -10,37 +10,41 @@ FIXTURE(bind_wildcard)
1010{
1111 struct sockaddr_in addr4 ;
1212 struct sockaddr_in6 addr6 ;
13- int expected_errno ;
1413};
1514
1615FIXTURE_VARIANT (bind_wildcard )
1716{
1817 const __u32 addr4_const ;
1918 const struct in6_addr * addr6_const ;
19+ int expected_errno ;
2020};
2121
2222FIXTURE_VARIANT_ADD (bind_wildcard , v4_any_v6_any )
2323{
2424 .addr4_const = INADDR_ANY ,
2525 .addr6_const = & in6addr_any ,
26+ .expected_errno = EADDRINUSE ,
2627};
2728
2829FIXTURE_VARIANT_ADD (bind_wildcard , v4_any_v6_local )
2930{
3031 .addr4_const = INADDR_ANY ,
3132 .addr6_const = & in6addr_loopback ,
33+ .expected_errno = 0 ,
3234};
3335
3436FIXTURE_VARIANT_ADD (bind_wildcard , v4_local_v6_any )
3537{
3638 .addr4_const = INADDR_LOOPBACK ,
3739 .addr6_const = & in6addr_any ,
40+ .expected_errno = EADDRINUSE ,
3841};
3942
4043FIXTURE_VARIANT_ADD (bind_wildcard , v4_local_v6_local )
4144{
4245 .addr4_const = INADDR_LOOPBACK ,
4346 .addr6_const = & in6addr_loopback ,
47+ .expected_errno = 0 ,
4448};
4549
4650FIXTURE_SETUP (bind_wildcard )
@@ -52,11 +56,6 @@ FIXTURE_SETUP(bind_wildcard)
5256 self -> addr6 .sin6_family = AF_INET6 ;
5357 self -> addr6 .sin6_port = htons (0 );
5458 self -> addr6 .sin6_addr = * variant -> addr6_const ;
55-
56- if (variant -> addr6_const == & in6addr_any )
57- self -> expected_errno = EADDRINUSE ;
58- else
59- self -> expected_errno = 0 ;
6059}
6160
6261FIXTURE_TEARDOWN (bind_wildcard )
@@ -65,6 +64,7 @@ FIXTURE_TEARDOWN(bind_wildcard)
6564
6665void bind_sockets (struct __test_metadata * _metadata ,
6766 FIXTURE_DATA (bind_wildcard ) * self ,
67+ int expected_errno ,
6868 struct sockaddr * addr1 , socklen_t addrlen1 ,
6969 struct sockaddr * addr2 , socklen_t addrlen2 )
7070{
@@ -86,9 +86,9 @@ void bind_sockets(struct __test_metadata *_metadata,
8686 ASSERT_GT (fd [1 ], 0 );
8787
8888 ret = bind (fd [1 ], addr2 , addrlen2 );
89- if (self -> expected_errno ) {
89+ if (expected_errno ) {
9090 ASSERT_EQ (ret , -1 );
91- ASSERT_EQ (errno , self -> expected_errno );
91+ ASSERT_EQ (errno , expected_errno );
9292 } else {
9393 ASSERT_EQ (ret , 0 );
9494 }
@@ -99,14 +99,14 @@ void bind_sockets(struct __test_metadata *_metadata,
9999
100100TEST_F (bind_wildcard , v4_v6 )
101101{
102- bind_sockets (_metadata , self ,
102+ bind_sockets (_metadata , self , variant -> expected_errno ,
103103 (struct sockaddr * )& self -> addr4 , sizeof (self -> addr4 ),
104104 (struct sockaddr * )& self -> addr6 , sizeof (self -> addr6 ));
105105}
106106
107107TEST_F (bind_wildcard , v6_v4 )
108108{
109- bind_sockets (_metadata , self ,
109+ bind_sockets (_metadata , self , variant -> expected_errno ,
110110 (struct sockaddr * )& self -> addr6 , sizeof (self -> addr6 ),
111111 (struct sockaddr * )& self -> addr4 , sizeof (self -> addr4 ));
112112}
0 commit comments