Skip to content

Commit c177efe

Browse files
committed
Timeout on test
1 parent d4c3efd commit c177efe

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

integrationtests/toolprovider/mise/install_nixpkgs_ruby_test.go

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
package mise
55

66
import (
7+
"context"
78
"testing"
9+
"time"
810

911
"github.com/bitrise-io/bitrise/v2/toolprovider/mise"
1012
"github.com/bitrise-io/bitrise/v2/toolprovider/provider"
@@ -31,16 +33,32 @@ func TestMiseInstallNixpkgsRuby(t *testing.T) {
3133
require.NoError(t, err)
3234

3335
t.Run(tt.name, func(t *testing.T) {
34-
request := provider.ToolRequest{
35-
ToolName: "ruby",
36-
UnparsedVersion: tt.requestedVersion,
37-
ResolutionStrategy: tt.resolutionStrategy,
36+
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute)
37+
defer cancel()
38+
39+
done := make(chan bool)
40+
var result provider.ToolInstallResult
41+
var installErr error
42+
43+
go func() {
44+
request := provider.ToolRequest{
45+
ToolName: "ruby",
46+
UnparsedVersion: tt.requestedVersion,
47+
ResolutionStrategy: tt.resolutionStrategy,
48+
}
49+
result, installErr = miseProvider.InstallTool(request)
50+
done <- true
51+
}()
52+
53+
select {
54+
case <-done:
55+
require.NoError(t, installErr)
56+
require.Equal(t, provider.ToolID("ruby"), result.ToolName)
57+
require.Equal(t, tt.expectedVersion, result.ConcreteVersion)
58+
require.False(t, result.IsAlreadyInstalled)
59+
case <-ctx.Done():
60+
t.Fatal("Test exceeded 1 minute timeout, installation was too slow for nixpkgs ruby")
3861
}
39-
result, err := miseProvider.InstallTool(request)
40-
require.NoError(t, err)
41-
require.Equal(t, provider.ToolID("nixpkgs:ruby"), result.ToolName)
42-
require.Equal(t, tt.expectedVersion, result.ConcreteVersion)
43-
require.False(t, result.IsAlreadyInstalled)
4462
})
4563
}
4664
}

0 commit comments

Comments
 (0)