hotfix(command): fix unit test

This commit is contained in:
Quentin McGaw
2026-06-11 14:06:26 +00:00
parent a53a0267e4
commit 8abb05567c
+29 -11
View File
@@ -89,21 +89,41 @@ func Test_start(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
var stdoutIndex, stderrIndex int collectAndCheckChannels(t, stdoutLines, stderrLines, waitError,
testCase.stdout, testCase.stderr, testCase.waitErr)
})
}
}
func collectAndCheckChannels(t *testing.T, stdoutLines, stderrLines <-chan string,
waitError <-chan error, expectedStdout, expectedStderr []string, expectedWaitErr error,
) {
t.Helper()
stdoutIndex := 0
stderrIndex := 0
done := false done := false
for !done { for !done {
select { select {
case line := <-stdoutLines: case line, ok := <-stdoutLines:
assert.Equal(t, testCase.stdout[stdoutIndex], line) if !ok {
stdoutLines = nil
continue
}
assert.Equal(t, expectedStdout[stdoutIndex], line)
stdoutIndex++ stdoutIndex++
case line := <-stderrLines: case line, ok := <-stderrLines:
assert.Equal(t, testCase.stderr[stderrIndex], line) if !ok {
stderrLines = nil
continue
}
assert.Equal(t, expectedStderr[stderrIndex], line)
stderrIndex++ stderrIndex++
case err := <-waitError: case err := <-waitError:
if testCase.waitErr != nil { if expectedWaitErr != nil {
require.Error(t, err) require.Error(t, err)
assert.Equal(t, testCase.waitErr.Error(), err.Error()) assert.Equal(t, expectedWaitErr.Error(), err.Error())
} else { } else {
assert.NoError(t, err) assert.NoError(t, err)
} }
@@ -111,8 +131,6 @@ func Test_start(t *testing.T) {
} }
} }
assert.Equal(t, len(testCase.stdout), stdoutIndex) assert.Equal(t, len(expectedStdout), stdoutIndex)
assert.Equal(t, len(testCase.stderr), stderrIndex) assert.Equal(t, len(expectedStderr), stderrIndex)
})
}
} }