Skip to content

Commit 94afc5b

Browse files
committed
try to fix test on Win
1 parent fddefbd commit 94afc5b

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

agent/agentscripts/agentscripts_test.go

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package agentscripts_test
33
import (
44
"context"
55
"path/filepath"
6+
"runtime"
67
"testing"
78
"time"
89

@@ -17,6 +18,7 @@ import (
1718
"github.com/coder/coder/v2/agent/agentssh"
1819
"github.com/coder/coder/v2/codersdk"
1920
"github.com/coder/coder/v2/codersdk/agentsdk"
21+
"github.com/coder/coder/v2/testutil"
2022
)
2123

2224
func TestMain(m *testing.M) {
@@ -58,17 +60,35 @@ func TestEnv(t *testing.T) {
5860
})
5961
defer runner.Close()
6062
id := uuid.New()
63+
script := "echo $CODER_SCRIPT_DATA_DIR\necho $CODER_SCRIPT_BIN_DIR\n"
64+
if runtime.GOOS == "windows" {
65+
script = `cmd.exe /c "echo %CODER_SCRIPT_DATA_DIR%\r\necho %CODER_SCRIPT_BIN_DIR%\r\n"`
66+
}
6167
err := runner.Init([]codersdk.WorkspaceAgentScript{{
6268
LogSourceID: id,
63-
Script: "echo $CODER_SCRIPT_DATA_DIR\necho $CODER_SCRIPT_BIN_DIR\n",
69+
Script: script,
6470
}})
6571
require.NoError(t, err)
66-
require.NoError(t, runner.Execute(context.Background(), func(script codersdk.WorkspaceAgentScript) bool {
72+
73+
ctx := testutil.Context(t, testutil.WaitLong)
74+
75+
require.NoError(t, runner.Execute(ctx, func(script codersdk.WorkspaceAgentScript) bool {
6776
return true
6877
}))
69-
log := <-logs
70-
require.Contains(t, log.Logs[0].Output, filepath.Join(runner.DataDir(), id.String()))
71-
require.Contains(t, log.Logs[1].Output, runner.ScriptBinDir())
78+
var log []agentsdk.Log
79+
for {
80+
select {
81+
case <-ctx.Done():
82+
require.Fail(t, "timed out waiting for logs")
83+
case l := <-logs:
84+
log = append(log, l.Logs...)
85+
}
86+
if len(log) >= 2 {
87+
break
88+
}
89+
}
90+
require.Contains(t, log[0].Output, filepath.Join(runner.DataDir(), id.String()))
91+
require.Contains(t, log[1].Output, runner.ScriptBinDir())
7292
}
7393

7494
func TestTimeout(t *testing.T) {

0 commit comments

Comments
 (0)