container/params: pass fd instead of file
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 2m9s
Test / Hakurei (push) Successful in 3m9s
Test / Hpkg (push) Successful in 4m12s
Test / Sandbox (race detector) (push) Successful in 4m29s
Test / Hakurei (race detector) (push) Successful in 5m6s
Test / Flake checks (push) Successful in 1m29s

The file is very difficult to stub. Pass fd instead as it is the value that is actually useful.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-08-23 00:16:46 +09:00
parent 1c692bfb79
commit ea1e3ebae9
5 changed files with 19 additions and 22 deletions

View File

@@ -53,7 +53,7 @@ func TestSetupReceive(t *testing.T) {
})
t.Run("setup receive", func(t *testing.T) {
check := func(t *testing.T, useNilFp bool) {
check := func(t *testing.T, useNilFdp bool) {
const key = "TEST_SETUP_RECEIVE"
payload := []int{syscall.MS_MGC_VAL, syscall.MS_MGC_MSK, syscall.MS_ASYNC, syscall.MS_ACTIVE}
@@ -82,13 +82,13 @@ func TestSetupReceive(t *testing.T) {
var (
gotPayload []int
fp **os.File
fdp *uintptr
)
if !useNilFp {
fp = new(*os.File)
if !useNilFdp {
fdp = new(uintptr)
}
var closeFile func() error
if f, err := container.Receive(key, &gotPayload, fp); err != nil {
if f, err := container.Receive(key, &gotPayload, fdp); err != nil {
t.Fatalf("Receive: error = %v", err)
} else {
closeFile = f
@@ -97,12 +97,9 @@ func TestSetupReceive(t *testing.T) {
t.Errorf("Receive: %#v, want %#v", gotPayload, payload)
}
}
if !useNilFp {
if name := (*fp).Name(); name != "setup" {
t.Errorf("Name: %s, want setup", name)
}
if fd := int((*fp).Fd()); fd != dupFd {
t.Errorf("Fd: %d, want %d", fd, dupFd)
if !useNilFdp {
if int(*fdp) != dupFd {
t.Errorf("Fd: %d, want %d", *fdp, dupFd)
}
}