@@ -1978,11 +1978,6 @@ test "close" {
1978
1978
test "accept/connect/send/recv" {
1979
1979
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
1980
1980
1981
- if (true ) {
1982
- // https://github.com/ziglang/zig/issues/14907
1983
- return error .SkipZigTest ;
1984
- }
1985
-
1986
1981
var ring = IO_Uring .init (16 , 0 ) catch | err | switch (err ) {
1987
1982
error .SystemOutdated = > return error .SkipZigTest ,
1988
1983
error .PermissionDenied = > return error .SkipZigTest ,
@@ -2024,27 +2019,25 @@ test "accept/connect/send/recv" {
2024
2019
test "sendmsg/recvmsg" {
2025
2020
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
2026
2021
2027
- if (true ) {
2028
- // https://github.com/ziglang/zig/issues/14907
2029
- return error .SkipZigTest ;
2030
- }
2031
-
2032
2022
var ring = IO_Uring .init (2 , 0 ) catch | err | switch (err ) {
2033
2023
error .SystemOutdated = > return error .SkipZigTest ,
2034
2024
error .PermissionDenied = > return error .SkipZigTest ,
2035
2025
else = > return err ,
2036
2026
};
2037
2027
defer ring .deinit ();
2038
2028
2039
- if (true ) @compileError ("don't hard code port numbers in unit tests" ); // https://github.com/ziglang/zig/issues/14907
2040
- const address_server = try net .Address .parseIp4 ("127.0.0.1" , 3131 );
2029
+ var address_server = try net .Address .parseIp4 ("127.0.0.1" , 0 );
2041
2030
2042
2031
const server = try os .socket (address_server .any .family , os .SOCK .DGRAM , 0 );
2043
2032
defer os .close (server );
2044
2033
try os .setsockopt (server , os .SOL .SOCKET , os .SO .REUSEPORT , & mem .toBytes (@as (c_int , 1 )));
2045
2034
try os .setsockopt (server , os .SOL .SOCKET , os .SO .REUSEADDR , & mem .toBytes (@as (c_int , 1 )));
2046
2035
try os .bind (server , & address_server .any , address_server .getOsSockLen ());
2047
2036
2037
+ // set address_server to the OS-chosen IP/port.
2038
+ var slen : os.socklen_t = address_server .getOsSockLen ();
2039
+ try os .getsockname (server , & address_server .any , & slen );
2040
+
2048
2041
const client = try os .socket (address_server .any .family , os .SOCK .DGRAM , 0 );
2049
2042
defer os .close (client );
2050
2043
@@ -2236,11 +2229,6 @@ test "timeout_remove" {
2236
2229
test "accept/connect/recv/link_timeout" {
2237
2230
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
2238
2231
2239
- if (true ) {
2240
- // https://github.com/ziglang/zig/issues/14907
2241
- return error .SkipZigTest ;
2242
- }
2243
-
2244
2232
var ring = IO_Uring .init (16 , 0 ) catch | err | switch (err ) {
2245
2233
error .SystemOutdated = > return error .SkipZigTest ,
2246
2234
error .PermissionDenied = > return error .SkipZigTest ,
@@ -2391,11 +2379,6 @@ test "statx" {
2391
2379
test "accept/connect/recv/cancel" {
2392
2380
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
2393
2381
2394
- if (true ) {
2395
- // https://github.com/ziglang/zig/issues/14907
2396
- return error .SkipZigTest ;
2397
- }
2398
-
2399
2382
var ring = IO_Uring .init (16 , 0 ) catch | err | switch (err ) {
2400
2383
error .SystemOutdated = > return error .SkipZigTest ,
2401
2384
error .PermissionDenied = > return error .SkipZigTest ,
@@ -2533,20 +2516,14 @@ test "register_files_update" {
2533
2516
test "shutdown" {
2534
2517
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
2535
2518
2536
- if (true ) {
2537
- // https://github.com/ziglang/zig/issues/14907
2538
- return error .SkipZigTest ;
2539
- }
2540
-
2541
2519
var ring = IO_Uring .init (16 , 0 ) catch | err | switch (err ) {
2542
2520
error .SystemOutdated = > return error .SkipZigTest ,
2543
2521
error .PermissionDenied = > return error .SkipZigTest ,
2544
2522
else = > return err ,
2545
2523
};
2546
2524
defer ring .deinit ();
2547
2525
2548
- if (true ) @compileError ("don't hard code port numbers in unit tests" ); // https://github.com/ziglang/zig/issues/14907
2549
- const address = try net .Address .parseIp4 ("127.0.0.1" , 3131 );
2526
+ var address = try net .Address .parseIp4 ("127.0.0.1" , 0 );
2550
2527
2551
2528
// Socket bound, expect shutdown to work
2552
2529
{
@@ -2556,6 +2533,10 @@ test "shutdown" {
2556
2533
try os .bind (server , & address .any , address .getOsSockLen ());
2557
2534
try os .listen (server , 1 );
2558
2535
2536
+ // set address to the OS-chosen IP/port.
2537
+ var slen : os.socklen_t = address .getOsSockLen ();
2538
+ try os .getsockname (server , & address .any , & slen );
2539
+
2559
2540
var shutdown_sqe = try ring .shutdown (0x445445445 , server , os .linux .SHUT .RD );
2560
2541
try testing .expectEqual (linux .IORING_OP .SHUTDOWN , shutdown_sqe .opcode );
2561
2542
try testing .expectEqual (@as (i32 , server ), shutdown_sqe .fd );
@@ -3091,11 +3072,6 @@ test "remove_buffers" {
3091
3072
test "provide_buffers: accept/connect/send/recv" {
3092
3073
if (builtin .os .tag != .linux ) return error .SkipZigTest ;
3093
3074
3094
- if (true ) {
3095
- // https://github.com/ziglang/zig/issues/14907
3096
- return error .SkipZigTest ;
3097
- }
3098
-
3099
3075
var ring = IO_Uring .init (16 , 0 ) catch | err | switch (err ) {
3100
3076
error .SystemOutdated = > return error .SkipZigTest ,
3101
3077
error .PermissionDenied = > return error .SkipZigTest ,
@@ -3272,8 +3248,7 @@ const SocketTestHarness = struct {
3272
3248
fn createSocketTestHarness (ring : * IO_Uring ) ! SocketTestHarness {
3273
3249
// Create a TCP server socket
3274
3250
3275
- if (true ) @compileError ("don't hard code port numbers in unit tests" ); // https://github.com/ziglang/zig/issues/14907
3276
- const address = try net .Address .parseIp4 ("127.0.0.1" , 3131 );
3251
+ var address = try net .Address .parseIp4 ("127.0.0.1" , 0 );
3277
3252
const kernel_backlog = 1 ;
3278
3253
const listener_socket = try os .socket (address .any .family , os .SOCK .STREAM | os .SOCK .CLOEXEC , 0 );
3279
3254
errdefer os .closeSocket (listener_socket );
@@ -3282,6 +3257,10 @@ fn createSocketTestHarness(ring: *IO_Uring) !SocketTestHarness {
3282
3257
try os .bind (listener_socket , & address .any , address .getOsSockLen ());
3283
3258
try os .listen (listener_socket , kernel_backlog );
3284
3259
3260
+ // set address to the OS-chosen IP/port.
3261
+ var slen : os.socklen_t = address .getOsSockLen ();
3262
+ try os .getsockname (listener_socket , & address .any , & slen );
3263
+
3285
3264
// Submit 1 accept
3286
3265
var accept_addr : os.sockaddr = undefined ;
3287
3266
var accept_addr_len : os.socklen_t = @sizeOf (@TypeOf (accept_addr ));
0 commit comments