Skip to content

Commit 2c4be50

Browse files
committed
Test getsockopt and setsockopt Linux syscalls
1 parent 5d3168e commit 2c4be50

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lib/std/os/linux.zig

+14-2
Original file line numberDiff line numberDiff line change
@@ -9285,8 +9285,8 @@ test "inet sockets" {
92859285
// - [x] sendto
92869286
// - [x] recvfrom
92879287
// - [x] shutdown
9288-
// - [ ] setsockopt
9289-
// - [ ] getsockopt
9288+
// - [x] setsockopt
9289+
// - [x] getsockopt
92909290
// - [ ] sendmsg
92919291
// - [ ] recvmsg
92929292
// - [ ] accept4
@@ -9298,6 +9298,18 @@ test "inet sockets" {
92989298
try std.testing.expectEqual(.SUCCESS, E.init(rc));
92999299
const fd: fd_t = @intCast(rc);
93009300

9301+
const test_sndbuf: c_int = 4096;
9302+
rc = setsockopt(fd, SOL.SOCKET, SO.SNDBUF, std.mem.asBytes(&test_sndbuf).ptr, std.mem.asBytes(&test_sndbuf).len);
9303+
try std.testing.expectEqual(.SUCCESS, E.init(rc));
9304+
try std.testing.expectEqual(0, rc);
9305+
9306+
var sndbuf: c_int = undefined;
9307+
var sndbuf_len: socklen_t = std.mem.asBytes(&sndbuf).len;
9308+
rc = getsockopt(fd, SOL.SOCKET, SO.SNDBUF, std.mem.asBytes(&sndbuf).ptr, &sndbuf_len);
9309+
try std.testing.expectEqual(.SUCCESS, E.init(rc));
9310+
try std.testing.expectEqual(0, rc);
9311+
try std.testing.expectEqual(test_sndbuf * 2, sndbuf);
9312+
93019313
var addr: sockaddr.storage = undefined;
93029314
var len: u32 = @sizeOf(@TypeOf(addr));
93039315
rc = getsockname(fd, @ptrCast(&addr), &len);

0 commit comments

Comments
 (0)