Skip to content

Commit c81dfc4

Browse files
authored
[skip-changelog] Fixed discovery tests timeouts (#1057)
Running command through "go run ..." will introduce artificial delayes.
1 parent 5887b1a commit c81dfc4

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

Diff for: arduino/discovery/discovery_test.go

+12-6
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,41 @@ import (
2020
"testing"
2121
"time"
2222

23+
"github.com/arduino/arduino-cli/executils"
2324
"github.com/stretchr/testify/require"
2425
)
2526

2627
func TestDiscoveryStdioHandling(t *testing.T) {
27-
disc, err := New("test", "go", "run", "testdata/cat/main.go") // copy stdin to stdout
28+
builder, err := executils.NewProcess("go", "build")
29+
require.NoError(t, err)
30+
builder.SetDir("testdata/cat")
31+
require.NoError(t, builder.Run())
32+
33+
disc, err := New("test", "testdata/cat/cat") // copy stdin to stdout
2834
require.NoError(t, err)
2935

3036
_, err = disc.outgoingCommandsPipe.Write([]byte(`{ "eventType":`)) // send partial JSON
3137
require.NoError(t, err)
32-
msg, err := disc.waitMessage(time.Millisecond * 1000)
38+
msg, err := disc.waitMessage(time.Millisecond * 100)
3339
require.Error(t, err)
3440
require.Nil(t, msg)
3541

3642
_, err = disc.outgoingCommandsPipe.Write([]byte(`"ev1" }{ `)) // complete previous json and start another one
3743
require.NoError(t, err)
3844

39-
msg, err = disc.waitMessage(time.Millisecond * 1000)
45+
msg, err = disc.waitMessage(time.Millisecond * 100)
4046
require.NoError(t, err)
4147
require.NotNil(t, msg)
4248
require.Equal(t, "ev1", msg.EventType)
4349

44-
msg, err = disc.waitMessage(time.Millisecond * 1000)
50+
msg, err = disc.waitMessage(time.Millisecond * 100)
4551
require.Error(t, err)
4652
require.Nil(t, msg)
4753

4854
_, err = disc.outgoingCommandsPipe.Write([]byte(`"eventType":"ev2" }`)) // complete previous json
4955
require.NoError(t, err)
5056

51-
msg, err = disc.waitMessage(time.Millisecond * 1000)
57+
msg, err = disc.waitMessage(time.Millisecond * 100)
5258
require.NoError(t, err)
5359
require.NotNil(t, msg)
5460
require.Equal(t, "ev2", msg.EventType)
@@ -57,7 +63,7 @@ func TestDiscoveryStdioHandling(t *testing.T) {
5763

5864
err = disc.outgoingCommandsPipe.(io.ReadCloser).Close()
5965
require.NoError(t, err)
60-
time.Sleep(time.Millisecond * 200)
66+
time.Sleep(time.Millisecond * 100)
6167

6268
require.False(t, disc.IsAlive())
6369
}

Diff for: arduino/discovery/testdata/cat/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cat
2+
cat.exe

0 commit comments

Comments
 (0)