From 7cce7a9c69a44b52a1f153d134fca6d766288cf0 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 17 Jun 2022 09:16:45 -0500 Subject: [PATCH] test: Write URL after signal listen to fix flake (#2456) The URL could be read before the signal was listening, causing this test to flake: https://github.com/coder/coder/runs/6936820170?check_suite_focus=true --- cli/server.go | 11 ++++++----- coderd/provisionerdaemons.go | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cli/server.go b/cli/server.go index 4e021a6b4f..65a9be4ebf 100644 --- a/cli/server.go +++ b/cli/server.go @@ -408,11 +408,6 @@ func server() *cobra.Command { errCh <- wg.Wait() }() - // This is helpful for tests, but can be silently ignored. - // Coder may be ran as users that don't have permission to write in the homedir, - // such as via the systemd service. - _ = config.URL().Write(client.URL.String()) - hasFirstUser, err := client.HasFirstUser(cmd.Context()) if !hasFirstUser && err == nil { cmd.Println() @@ -442,6 +437,12 @@ func server() *cobra.Command { stopChan := make(chan os.Signal, 1) defer signal.Stop(stopChan) signal.Notify(stopChan, os.Interrupt) + + // This is helpful for tests, but can be silently ignored. + // Coder may be ran as users that don't have permission to write in the homedir, + // such as via the systemd service. + _ = config.URL().Write(client.URL.String()) + select { case <-cmd.Context().Done(): coderAPI.Close() diff --git a/coderd/provisionerdaemons.go b/coderd/provisionerdaemons.go index 272a1d0f60..2a41be0ddc 100644 --- a/coderd/provisionerdaemons.go +++ b/coderd/provisionerdaemons.go @@ -96,7 +96,7 @@ func (api *API) ListenProvisionerDaemon(ctx context.Context) (client proto.DRPCP }, }) go func() { - err = server.Serve(ctx, serverSession) + err := server.Serve(ctx, serverSession) if err != nil && !xerrors.Is(err, io.EOF) { api.Logger.Debug(ctx, "provisioner daemon disconnected", slog.Error(err)) }