Skip to content

Commit ead8176

Browse files
committed
platform: fix mis-managed channels
1 parent c8f92e1 commit ead8176

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

platform/os_indep.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func StartProgram(envVars []string, timeoutSec int, stdout, stderr io.WriteClose
6262
defer minuteTicker.Stop()
6363
unixSecAtStart := time.Now().Unix()
6464
timeLimitExceeded := time.After(time.Duration(timeoutSec) * time.Second)
65-
processExitChan := make(chan error, 1)
65+
processExitChan := make(chan error)
6666
absPath, err := filepath.Abs(program)
6767
if err != nil {
6868
return fmt.Errorf("failed to determine abs path of the program %q: %w", program, err)
@@ -145,6 +145,6 @@ func StartProgram(envVars []string, timeoutSec int, stdout, stderr io.WriteClose
145145
// It returns stdout+stderr combined, the maximum size is capped to MaxExternalProgramOutputBytes.
146146
func InvokeProgram(envVars []string, timeoutSec int, program string, args ...string) (string, error) {
147147
outBuf := lalog.NewByteLogWriter(io.Discard, MaxExternalProgramOutputBytes)
148-
err := StartProgram(envVars, timeoutSec, outBuf, outBuf, make(chan<- error), make(<-chan struct{}), program, args...)
148+
err := StartProgram(envVars, timeoutSec, outBuf, outBuf, make(chan<- error, 1), make(<-chan struct{}), program, args...)
149149
return string(outBuf.Retrieve(false)), err
150150
}

toolbox/app_shell_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ func TestShell_NonWindowsExecute(t *testing.T) {
125125
defer os.Remove(tmpFile.Name())
126126
start := time.Now()
127127
ret := sh.Execute(context.Background(), Command{TimeoutSec: 2, Content: `echo -n abc; sleep 5; rm ` + tmpFile.Name()})
128-
if !strings.Contains(ret.Error.Error(), "time limit") ||
128+
if !strings.Contains(ret.Error.Error(), "terminated") ||
129129
ret.Output != "abc" ||
130-
!strings.Contains(ret.ResetCombinedText(), "time limit") || !strings.Contains(ret.ResetCombinedText(), CombinedTextSeparator+"abc") {
130+
!strings.Contains(ret.ResetCombinedText(), "terminated") || !strings.Contains(ret.ResetCombinedText(), CombinedTextSeparator+"abc") {
131131
t.Fatalf("%v\n%s\n%s\n%s", ret.Error, ret.ErrText(), ret.Output, ret.ResetCombinedText())
132132
}
133133
if elapsed := time.Since(start); elapsed > 4*time.Second {

0 commit comments

Comments
 (0)