Skip to content

Commit 4ec3a87

Browse files
committed
Fix tests
1 parent f1ff5cc commit 4ec3a87

File tree

3 files changed

+7
-18
lines changed

3 files changed

+7
-18
lines changed

agent/agent_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1215,7 +1215,7 @@ func TestAgent_Lifecycle(t *testing.T) {
12151215
_, client, _, _, _ := setupAgent(t, agentsdk.Manifest{
12161216
Scripts: []codersdk.WorkspaceAgentScript{{
12171217
Script: "sleep 3",
1218-
Timeout: time.Nanosecond,
1218+
Timeout: time.Millisecond,
12191219
RunOnStart: true,
12201220
}},
12211221
}, 0)

agent/agentscripts/agentscripts.go

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package agentscripts
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"io"
78
"os"
@@ -204,20 +205,6 @@ func (r *Runner) run(ctx context.Context, script codersdk.WorkspaceAgentScript)
204205
return xerrors.Errorf("%s script: start command: %w", logPath, err)
205206
}
206207

207-
// timeout stores whether the process timed out then was gracefully killed.
208-
var timeout chan struct{}
209-
if script.Timeout > 0 {
210-
timeout = make(chan struct{})
211-
timer := time.AfterFunc(script.Timeout, func() {
212-
close(timeout)
213-
err := cmd.Process.Signal(os.Interrupt)
214-
if err != nil {
215-
logger.Warn(ctx, "send interrupt signal to script", slog.Error(err))
216-
}
217-
})
218-
defer timer.Stop()
219-
}
220-
221208
cmdDone := make(chan error, 1)
222209
err = r.trackCommandGoroutine(func() {
223210
cmdDone <- cmd.Wait()
@@ -226,12 +213,14 @@ func (r *Runner) run(ctx context.Context, script codersdk.WorkspaceAgentScript)
226213
return xerrors.Errorf("%s script: track command goroutine: %w", logPath, err)
227214
}
228215
select {
229-
case <-timeout:
230-
err = ErrTimeout
231216
case <-ctx.Done():
232217
err = ctx.Err()
233218
case err = <-cmdDone:
234219
}
220+
if errors.Is(err, context.DeadlineExceeded) {
221+
err = ErrTimeout
222+
}
223+
fmt.Printf("ERROR %+v\n", err)
235224
return err
236225
}
237226

agent/agentscripts/agentscripts_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func TestTimeout(t *testing.T) {
4747
defer runner.Close()
4848
err := runner.Init([]codersdk.WorkspaceAgentScript{{
4949
Script: "sleep 3",
50-
Timeout: time.Nanosecond,
50+
Timeout: time.Millisecond,
5151
}})
5252
require.NoError(t, err)
5353
require.ErrorIs(t, runner.Execute(context.Background(), nil), agentscripts.ErrTimeout)

0 commit comments

Comments
 (0)