From 37c06a31db8b3600fd83525a45b2a741e29e1ade Mon Sep 17 00:00:00 2001 From: David Dworken Date: Fri, 8 Sep 2023 09:53:39 -0700 Subject: [PATCH 1/2] Add extra delay before adding token that makes it an invalid search query to make the race condition less likely --- client/client_test.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/client/client_test.go b/client/client_test.go index 7a7341a..f884485 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -1940,9 +1940,9 @@ func testTui_search(t testing.TB) { testutils.CompareGoldens(t, out, "TestTui-InitialInvalidSearch") // Check the output when the search is invalid - out = captureTerminalOutput(t, tester, []string{ - "hishtory SPACE tquery ENTER", - "ls", ":", + out = captureTerminalOutputWithComplexCommands(t, tester, []TmuxCommand{ + {Keys: "hishtory SPACE tquery ENTER"}, + {Keys: "ls", ExtraDelay: 1.0}, {Keys: ":"}, }) out = strings.TrimSpace(strings.Split(out, "hishtory tquery")[1]) testutils.CompareGoldens(t, out, "TestTui-InvalidSearch") @@ -2021,10 +2021,15 @@ func captureTerminalOutput(t testing.TB, tester shellTester, commands []string) return captureTerminalOutputWithShellName(t, tester, tester.ShellName(), commands) } +func captureTerminalOutputWithComplexCommands(t testing.TB, tester shellTester, commands []TmuxCommand) string { + return captureTerminalOutputWithShellNameAndDimensions(t, tester, tester.ShellName(), 200, 50, commands) +} + type TmuxCommand struct { - Keys string - ResizeX int - ResizeY int + Keys string + ResizeX int + ResizeY int + ExtraDelay float64 } func captureTerminalOutputWithShellName(t testing.TB, tester shellTester, overriddenShellName string, commands []string) string { @@ -2064,6 +2069,9 @@ func captureTerminalOutputWithShellNameAndDimensions(t testing.TB, tester shellT if cmd.ResizeX != 0 && cmd.ResizeY != 0 { fullCommand += fmt.Sprintf(" tmux resize-window -t foo -x %d -y %d\n", cmd.ResizeX, cmd.ResizeY) } + if cmd.ExtraDelay != 0 { + fullCommand += fmt.Sprintf(" sleep %f\n", cmd.ExtraDelay) + } fullCommand += " sleep " + sleepAmount + "\n" } fullCommand += " sleep 2.5\n" From cc10689d09a43420b9b5a7ec507371f07c1da554 Mon Sep 17 00:00:00 2001 From: David Dworken Date: Fri, 8 Sep 2023 09:59:55 -0700 Subject: [PATCH 2/2] Skip running DD on non-master branches so that PRs can run successfully --- .github/workflows/go-test.yml | 3 +++ client/client_test.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go-test.yml b/.github/workflows/go-test.yml index d44caf3..eaa1bd8 100644 --- a/.github/workflows/go-test.yml +++ b/.github/workflows/go-test.yml @@ -49,11 +49,14 @@ jobs: colima start sudo ln -sf $HOME/.colima/default/docker.sock /var/run/docker.sock - name: Set up Datadog + if: github.ref == 'refs/heads/master' uses: datadog/agent-github-action@v1.3 with: api_key: ${{ secrets.DD_API_KEY }} - name: Go test if: ${{ !startsWith(github.event.head_commit.message, 'Release') }} + env: + DD_API_KEY: ${{ secrets.DD_API_KEY }} run: | make retrying-test # - name: Setup tmate session diff --git a/client/client_test.go b/client/client_test.go index f884485..507ce36 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -55,7 +55,7 @@ func TestMain(m *testing.M) { } // Configure the integration to export test failures to datadog for better monitoring - if testutils.IsGithubAction() { + if _, has_dd_api_key := os.LookupEnv("DD_API_KEY"); testutils.IsGithubAction() && has_dd_api_key { ddStats, err := statsd.New("localhost:8125") if err != nil { panic(fmt.Errorf("Failed to start DataDog statsd: %w\n", err))