diff --git a/internal/app/app_test.go b/internal/app/app_test.go index 61cffa3..5689100 100644 --- a/internal/app/app_test.go +++ b/internal/app/app_test.go @@ -12,6 +12,7 @@ import ( "os" "os/exec" "reflect" + "runtime" "strings" "sync" "syscall" @@ -437,6 +438,9 @@ func TestApp_Run_ReturnsStartError(t *testing.T) { // Run; the parent signals only after the SMTP port accepts a connection. func testRunShutsDownOnSignal(t *testing.T, sig syscall.Signal) { t.Helper() + if runtime.GOOS == "windows" { + t.Skip("Windows cannot deliver SIGINT or SIGTERM to a child process") + } if os.Getenv("INBOUNDPARSE_RUN_SIGNAL_CHILD") == "1" { serveUntilShutdownSignal(t) diff --git a/internal/smtp/server_test.go b/internal/smtp/server_test.go index 87eb5db..5595d11 100644 --- a/internal/smtp/server_test.go +++ b/internal/smtp/server_test.go @@ -825,8 +825,9 @@ func TestSMTPServer_Start_PlainBindFailureReturns(t *testing.T) { if startErr == nil { t.Fatal("expected Start() to return the plain bind error") } - if !strings.Contains(startErr.Error(), "address already in use") { - t.Fatalf("Start() error = %v, want address already in use", startErr) + msg := startErr.Error() + if !strings.Contains(msg, "address already in use") && !strings.Contains(msg, "Only one usage of each socket address") { + t.Fatalf("Start() error = %v, want a bind conflict", startErr) } ln, listenErr := net.Listen("tcp", tlsAddr)