@@ -82,16 +82,10 @@ static S2N_RESULT s2n_new_inet_socket_pair(struct s2n_test_io_pair *io_pair)
82
82
io_pair -> client = socket (AF_INET , SOCK_STREAM , 0 );
83
83
RESULT_ENSURE_GT (io_pair -> client , 0 );
84
84
85
- fflush (stdout );
86
- pid_t pid = fork ();
87
- RESULT_ENSURE_GTE (pid , 0 );
88
- if (pid == 0 ) {
89
- RESULT_ENSURE_EQ (connect (io_pair -> client , (struct sockaddr * ) & saddr , addrlen ), 0 );
90
- ZERO_TO_DISABLE_DEFER_CLEANUP (io_pair );
91
- exit (0 );
92
- }
85
+ RESULT_ENSURE_EQ (connect (io_pair -> client , (struct sockaddr * ) & saddr , addrlen ), 0 );
93
86
io_pair -> server = accept (listener , NULL , NULL );
94
87
RESULT_ENSURE_GT (io_pair -> server , 0 );
88
+ RESULT_ENSURE_EQ (close (listener ), 0 );
95
89
return S2N_RESULT_OK ;
96
90
}
97
91
@@ -134,12 +128,6 @@ int main(int argc, char **argv)
134
128
sizeof (test_data ),
135
129
};
136
130
137
- uint8_t file_test_data [100 ] = { 0 };
138
- int file = open (argv [0 ], O_RDONLY );
139
- EXPECT_TRUE (file > 0 );
140
- int file_read = pread (file , file_test_data , sizeof (file_test_data ), 0 );
141
- EXPECT_EQUAL (file_read , sizeof (file_test_data ));
142
-
143
131
DEFER_CLEANUP (struct s2n_config * config = s2n_config_new (), s2n_config_ptr_free );
144
132
EXPECT_SUCCESS (s2n_config_add_cert_chain_and_key_to_store (config , chain_and_key ));
145
133
EXPECT_SUCCESS (s2n_config_set_unsafe_for_testing (config ));
@@ -171,6 +159,7 @@ int main(int argc, char **argv)
171
159
* to be able to test ktls.
172
160
*/
173
161
EXPECT_FALSE (ktls_expected );
162
+ EXPECT_SUCCESS (s2n_io_pair_close (& io_pair ));
174
163
END_TEST ();
175
164
}
176
165
EXPECT_OK (s2n_setup_connections (server , client , & io_pair ));
@@ -270,22 +259,32 @@ int main(int argc, char **argv)
270
259
};
271
260
272
261
/* Test: s2n_sendfile */
273
- for (size_t offset_i = 0 ; offset_i < s2n_array_len (test_offsets ); offset_i ++ ) {
274
- const size_t offset = test_offsets [offset_i ];
275
- const size_t expected_written = sizeof (test_data ) - offset ;
262
+ {
263
+ uint8_t file_test_data [100 ] = { 0 };
264
+ int file = open (argv [0 ], O_RDONLY );
265
+ EXPECT_TRUE (file > 0 );
266
+ int file_read = pread (file , file_test_data , sizeof (file_test_data ), 0 );
267
+ EXPECT_EQUAL (file_read , sizeof (file_test_data ));
268
+
269
+ for (size_t offset_i = 0 ; offset_i < s2n_array_len (test_offsets ); offset_i ++ ) {
270
+ const size_t offset = test_offsets [offset_i ];
271
+ const size_t expected_written = sizeof (test_data ) - offset ;
272
+
273
+ size_t written = 0 ;
274
+ EXPECT_SUCCESS (s2n_sendfile (writer , file , offset , expected_written ,
275
+ & written , & blocked ));
276
+ EXPECT_EQUAL (written , expected_written );
277
+ EXPECT_EQUAL (blocked , S2N_NOT_BLOCKED );
276
278
277
- size_t written = 0 ;
278
- EXPECT_SUCCESS (s2n_sendfile (writer , file , offset , expected_written ,
279
- & written , & blocked ));
280
- EXPECT_EQUAL (written , expected_written );
281
- EXPECT_EQUAL (blocked , S2N_NOT_BLOCKED );
279
+ uint8_t buffer [sizeof (file_test_data )] = { 0 };
280
+ int read = s2n_recv (reader , buffer , expected_written , & blocked );
281
+ EXPECT_EQUAL (read , expected_written );
282
+ EXPECT_EQUAL (blocked , S2N_NOT_BLOCKED );
282
283
283
- uint8_t buffer [sizeof (file_test_data )] = { 0 };
284
- int read = s2n_recv (reader , buffer , expected_written , & blocked );
285
- EXPECT_EQUAL (read , expected_written );
286
- EXPECT_EQUAL (blocked , S2N_NOT_BLOCKED );
284
+ EXPECT_BYTEARRAY_EQUAL (file_test_data + offset , buffer , read );
285
+ }
287
286
288
- EXPECT_BYTEARRAY_EQUAL ( file_test_data + offset , buffer , read );
287
+ EXPECT_SUCCESS ( close ( file ) );
289
288
}
290
289
291
290
/* Test: s2n_shutdown */
0 commit comments