| 100 | } |
| 101 | |
| 102 | func TestTimeout(t *testing.T) { |
| 103 | t.Parallel() |
| 104 | if runtime.GOOS == "darwin" { |
| 105 | t.Skip("this test is flaky on macOS, see https://github.com/coder/internal/issues/329") |
| 106 | } |
| 107 | runner := setup(t, nil) |
| 108 | defer runner.Close() |
| 109 | aAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil) |
| 110 | err := runner.Init([]codersdk.WorkspaceAgentScript{{ |
| 111 | LogSourceID: uuid.New(), |
| 112 | Script: "sleep infinity", |
| 113 | Timeout: 100 * time.Millisecond, |
| 114 | }}, aAPI.ScriptCompleted) |
| 115 | require.NoError(t, err) |
| 116 | require.ErrorIs(t, runner.Execute(context.Background(), agentscripts.ExecuteAllScripts), agentscripts.ErrTimeout) |
| 117 | } |
| 118 | |
| 119 | func TestScriptReportsTiming(t *testing.T) { |
| 120 | t.Parallel() |