From c10beb05d99ac6a224cb1a4165060d886ffec1a9 Mon Sep 17 00:00:00 2001 From: Clement Date: Sat, 7 Sep 2024 05:01:47 +0800 Subject: [PATCH] fix: TestRunBinary should wait for std output (#17) --- assets/web/html.zip | Bin 2541506 -> 2546889 bytes tests/e2e/run_binary_test.go | 2 +- tests/framework/util.go | 37 +++++++++++++++++++++++------------ 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/assets/web/html.zip b/assets/web/html.zip index 7cc3e8fe7b9f47db8eabdf3891c8badac56739c8..2ddb579222f26114902e7d4ffdae1d417387b280 100644 GIT binary patch delta 43390 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 TgWwkWFUu7M22BkNJ^FtD4KIei diff --git a/tests/e2e/run_binary_test.go b/tests/e2e/run_binary_test.go index 34a7b02..d41cfc0 100644 --- a/tests/e2e/run_binary_test.go +++ b/tests/e2e/run_binary_test.go @@ -27,7 +27,7 @@ func TestRunBinary(t *testing.T) { c.Start() defer c.Stop() - WaitForRunningOrFail(t, c) + WaitForRunningOrFail(t, c, true) assert.True(t, LogContainsText(c.Status(), "listening on localhost:12345") || LogContainsText(c.Status(), "listening on 127.0.0.1:12345"), WhatsWrong(c.Status())) diff --git a/tests/framework/util.go b/tests/framework/util.go index e9ee8b2..c6b4c6f 100644 --- a/tests/framework/util.go +++ b/tests/framework/util.go @@ -46,7 +46,7 @@ func FindBinary(t *testing.T) (string, error) { } func IsRunning(s cmd.Status) bool { - return s.Error == nil && s.StartTs > 0 && !s.Complete && s.Exit == 0 + return s.Error == nil && s.StartTs > 0 && !s.Complete && s.Exit == -1 } func LogContainsText(s cmd.Status, text string) bool { @@ -75,17 +75,30 @@ func WhatsWrong(s cmd.Status) error { return errors.New("debug info: " + string(marshal)) } -func WaitForRunningOrFail(t *testing.T, c *cmd.Cmd) { - timer := time.NewTimer(3 * time.Second) - ticker := time.NewTimer(100 * time.Millisecond) - - select { - case <-timer.C: - t.Fatalf("failed to start: %v", WhatsWrong(c.Status())) - case <-ticker.C: - status := c.Status() - if IsRunning(status) { - break +// WaitForRunningOrFail checks if stdout or stderr has content when mustWaitForStdOutput is true. +// mustWaitForStdOutput is useful when the OS performs security checks on the binary, which can be +// terribly slow on macOS. +func WaitForRunningOrFail(t *testing.T, c *cmd.Cmd, mustWaitForStdOutput bool) { + timer := time.NewTimer(100 * time.Second) + ticker := time.NewTicker(100 * time.Millisecond) + defer timer.Stop() + defer ticker.Stop() + + for { + select { + case <-timer.C: + t.Fatalf("failed to start: %v", WhatsWrong(c.Status())) + case <-ticker.C: + status := c.Status() + if IsRunning(status) { + if mustWaitForStdOutput { + if len(status.Stdout) > 0 || len(status.Stderr) > 0 { + return + } + } else { + return + } + } } }