@@ -10,37 +10,41 @@ FIXTURE(bind_wildcard)
10
10
{
11
11
struct sockaddr_in addr4 ;
12
12
struct sockaddr_in6 addr6 ;
13
- int expected_errno ;
14
13
};
15
14
16
15
FIXTURE_VARIANT (bind_wildcard )
17
16
{
18
17
const __u32 addr4_const ;
19
18
const struct in6_addr * addr6_const ;
19
+ int expected_errno ;
20
20
};
21
21
22
22
FIXTURE_VARIANT_ADD (bind_wildcard , v4_any_v6_any )
23
23
{
24
24
.addr4_const = INADDR_ANY ,
25
25
.addr6_const = & in6addr_any ,
26
+ .expected_errno = EADDRINUSE ,
26
27
};
27
28
28
29
FIXTURE_VARIANT_ADD (bind_wildcard , v4_any_v6_local )
29
30
{
30
31
.addr4_const = INADDR_ANY ,
31
32
.addr6_const = & in6addr_loopback ,
33
+ .expected_errno = 0 ,
32
34
};
33
35
34
36
FIXTURE_VARIANT_ADD (bind_wildcard , v4_local_v6_any )
35
37
{
36
38
.addr4_const = INADDR_LOOPBACK ,
37
39
.addr6_const = & in6addr_any ,
40
+ .expected_errno = EADDRINUSE ,
38
41
};
39
42
40
43
FIXTURE_VARIANT_ADD (bind_wildcard , v4_local_v6_local )
41
44
{
42
45
.addr4_const = INADDR_LOOPBACK ,
43
46
.addr6_const = & in6addr_loopback ,
47
+ .expected_errno = 0 ,
44
48
};
45
49
46
50
FIXTURE_SETUP (bind_wildcard )
@@ -52,11 +56,6 @@ FIXTURE_SETUP(bind_wildcard)
52
56
self -> addr6 .sin6_family = AF_INET6 ;
53
57
self -> addr6 .sin6_port = htons (0 );
54
58
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 ;
60
59
}
61
60
62
61
FIXTURE_TEARDOWN (bind_wildcard )
@@ -65,6 +64,7 @@ FIXTURE_TEARDOWN(bind_wildcard)
65
64
66
65
void bind_sockets (struct __test_metadata * _metadata ,
67
66
FIXTURE_DATA (bind_wildcard ) * self ,
67
+ int expected_errno ,
68
68
struct sockaddr * addr1 , socklen_t addrlen1 ,
69
69
struct sockaddr * addr2 , socklen_t addrlen2 )
70
70
{
@@ -86,9 +86,9 @@ void bind_sockets(struct __test_metadata *_metadata,
86
86
ASSERT_GT (fd [1 ], 0 );
87
87
88
88
ret = bind (fd [1 ], addr2 , addrlen2 );
89
- if (self -> expected_errno ) {
89
+ if (expected_errno ) {
90
90
ASSERT_EQ (ret , -1 );
91
- ASSERT_EQ (errno , self -> expected_errno );
91
+ ASSERT_EQ (errno , expected_errno );
92
92
} else {
93
93
ASSERT_EQ (ret , 0 );
94
94
}
@@ -99,14 +99,14 @@ void bind_sockets(struct __test_metadata *_metadata,
99
99
100
100
TEST_F (bind_wildcard , v4_v6 )
101
101
{
102
- bind_sockets (_metadata , self ,
102
+ bind_sockets (_metadata , self , variant -> expected_errno ,
103
103
(struct sockaddr * )& self -> addr4 , sizeof (self -> addr4 ),
104
104
(struct sockaddr * )& self -> addr6 , sizeof (self -> addr6 ));
105
105
}
106
106
107
107
TEST_F (bind_wildcard , v6_v4 )
108
108
{
109
- bind_sockets (_metadata , self ,
109
+ bind_sockets (_metadata , self , variant -> expected_errno ,
110
110
(struct sockaddr * )& self -> addr6 , sizeof (self -> addr6 ),
111
111
(struct sockaddr * )& self -> addr4 , sizeof (self -> addr4 ));
112
112
}
0 commit comments