From a2a5fcf79bf43c99f5a108d4692be36a6dfd8623 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson <mafredri@gmail.com> Date: Mon, 12 Aug 2024 12:54:30 +0300 Subject: [PATCH] fix: prevent test flake by waiting on copy (#27) --- internal/provider/git_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/provider/git_test.go b/internal/provider/git_test.go index a512a85..86131fe 100644 --- a/internal/provider/git_test.go +++ b/internal/provider/git_test.go @@ -135,17 +135,19 @@ func startSSHServer(ctx context.Context, t testing.TB) string { _, _ = io.Copy(in, s) _ = in.Close() }() + outCopyDone := make(chan struct{}) go func() { _, _ = io.Copy(s, out) _ = out.Close() - _ = s.CloseWrite() + close(outCopyDone) }() err = cmd.Wait() if err != nil { t.Logf("command failed: %s", err) } + <-outCopyDone - t.Logf("session ended: %s", s.RawCommand()) + t.Logf("session ended (cmd=%q, code=%d)", s.RawCommand(), cmd.ProcessState.ExitCode()) err = s.Exit(cmd.ProcessState.ExitCode()) if err != nil {