Skip to content

Commit 86ce917

Browse files
The127claude
andcommitted
refactor: the vsock tests read the close-on-exec flag in one place
Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: karo <karolin.kostial@gmail.com>
1 parent d06d616 commit 86ce917

1 file changed

Lines changed: 24 additions & 12 deletions

File tree

‎internal/vsock/listen_test.go‎

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,9 @@ func TestAListenerIsNotInheritedByAProcess(t *testing.T) {
7272

7373
// assert
7474
require.NoError(t, err)
75-
var added []int
76-
for _, fd := range sockets(t) {
77-
if !slices.Contains(before, fd) {
78-
added = append(added, fd)
79-
}
80-
}
81-
75+
added := opened(t, before)
8276
require.Len(t, added, 1)
83-
flags, err := unix.FcntlInt(uintptr(added[0]), unix.F_GETFD, 0)
84-
require.NoError(t, err)
85-
assert.NotZero(t, flags&unix.FD_CLOEXEC)
77+
assert.True(t, closedOnExecFD(t, uintptr(added[0])))
8678
}
8779

8880
// sockets are the file descriptors of this process that are sockets. A
@@ -106,14 +98,34 @@ func sockets(t *testing.T) []int {
10698
return fds
10799
}
108100

101+
// opened are the sockets of this process that are not among those before.
102+
func opened(t *testing.T, before []int) []int {
103+
t.Helper()
104+
var added []int
105+
for _, fd := range sockets(t) {
106+
if !slices.Contains(before, fd) {
107+
added = append(added, fd)
108+
}
109+
}
110+
111+
return added
112+
}
113+
109114
func closedOnExec(t *testing.T, conn syscall.Conn) bool {
110115
t.Helper()
111116
raw, err := conn.SyscallConn()
112117
require.NoError(t, err)
113-
var flags int
118+
var closed bool
114119
require.NoError(t, raw.Control(func(fd uintptr) {
115-
flags, err = unix.FcntlInt(fd, unix.F_GETFD, 0)
120+
closed = closedOnExecFD(t, fd)
116121
}))
122+
123+
return closed
124+
}
125+
126+
func closedOnExecFD(t *testing.T, fd uintptr) bool {
127+
t.Helper()
128+
flags, err := unix.FcntlInt(fd, unix.F_GETFD, 0)
117129
require.NoError(t, err)
118130

119131
return flags&unix.FD_CLOEXEC != 0

0 commit comments

Comments
 (0)