From c07fb8b14fc805bc4e4827f87d4f5138c5376626 Mon Sep 17 00:00:00 2001 From: chaitalisg Date: Tue, 5 Mar 2024 14:54:39 -0800 Subject: [PATCH] test(general): Increase timeout to check for generated TLS cert (#3696) * add debug messages * increase wait time for tls cert * add error messages for easier debugging * Update tests/tools/kopiarunner/kopia_snapshotter.go Co-authored-by: Nick * add comment --------- Co-authored-by: Nick --- tests/tools/kopiarunner/kopia_snapshotter.go | 7 +++++-- tests/tools/kopiarunner/kopiarun.go | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/tools/kopiarunner/kopia_snapshotter.go b/tests/tools/kopiarunner/kopia_snapshotter.go index 3e5ef5f6a..121ece4b4 100644 --- a/tests/tools/kopiarunner/kopia_snapshotter.go +++ b/tests/tools/kopiarunner/kopia_snapshotter.go @@ -28,7 +28,7 @@ const ( noCheckForUpdatesFlag = "--no-check-for-updates" noProgressFlag = "--no-progress" parallelFlag = "--parallel" - retryCount = 180 + retryCount = 900 retryInterval = 1 * time.Second waitingForServerString = "waiting for server to start" serverControlPassword = "abcdef" @@ -395,11 +395,14 @@ func (ks *KopiaSnapshotter) ConnectOrCreateRepoWithServer(serverAddr string, arg var cmdErr error if cmd, cmdErr = ks.CreateServer(serverAddr, serverArgs...); cmdErr != nil { - return nil, "", cmdErr + return nil, "", errors.Wrap(cmdErr, "CreateServer failed") } if err := certKeyExist(context.TODO(), tlsCertFile, tlsKeyFile); err != nil { if buf, ok := cmd.Stderr.(*bytes.Buffer); ok { + // If the STDERR buffer does not contain any obvious error output, + // it is possible the async server creation above is taking a long time + // to open the repository, and we timed out waiting for it to write the TLS certs. log.Print("failure in certificate generation:", buf.String()) } diff --git a/tests/tools/kopiarunner/kopiarun.go b/tests/tools/kopiarunner/kopiarun.go index 7232287c2..9299cbf48 100644 --- a/tests/tools/kopiarunner/kopiarun.go +++ b/tests/tools/kopiarunner/kopiarun.go @@ -3,12 +3,13 @@ package kopiarunner import ( "bytes" - "errors" "log" "os" "os/exec" "path/filepath" "strings" + + "github.com/pkg/errors" ) const ( @@ -88,7 +89,7 @@ func (kr *Runner) RunAsync(args ...string) (*exec.Cmd, error) { err := c.Start() if err != nil { - return nil, err + return nil, errors.Wrap(err, "Run async failed for "+kr.Exe) } return c, nil