Skip to content

Commit 8abead0

Browse files
committed
testsuite: Added possibility to use shared download staging folder
1 parent 2ab5741 commit 8abead0

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

internal/integrationtest/arduino-cli.go

+15-5
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,31 @@ type ArduinoCLI struct {
4646
daemonClient commands.ArduinoCoreServiceClient
4747
}
4848

49+
// ArduinoCLIConfig is the configuration of the ArduinoCLI client
50+
type ArduinoCLIConfig struct {
51+
ArduinoCLIPath *paths.Path
52+
UseSharedStagingFolder bool
53+
}
54+
4955
// NewArduinoCliWithinEnvironment creates a new Arduino CLI client inside the given environment.
50-
func NewArduinoCliWithinEnvironment(t *testing.T, cliPath *paths.Path, env *Environment) *ArduinoCLI {
51-
cli := NewArduinoCli(t, cliPath)
56+
func NewArduinoCliWithinEnvironment(t *testing.T, config *ArduinoCLIConfig, env *Environment) *ArduinoCLI {
57+
cli := NewArduinoCli(t, config)
58+
staging := env.downloadsDir
59+
if !config.UseSharedStagingFolder {
60+
staging = env.Root().Join("arduino15/staging")
61+
}
5262
cli.cliEnvVars = []string{
5363
fmt.Sprintf("ARDUINO_DATA_DIR=%s", env.Root().Join("arduino15")),
54-
fmt.Sprintf("ARDUINO_DOWNLOADS_DIR=%s", env.Root().Join("arduino15/staging")),
64+
fmt.Sprintf("ARDUINO_DOWNLOADS_DIR=%s", staging),
5565
fmt.Sprintf("ARDUINO_SKETCHBOOK_DIR=%s", env.Root().Join("Arduino")),
5666
}
5767
return cli
5868
}
5969

6070
// NewArduinoCli creates a new Arduino CLI client.
61-
func NewArduinoCli(t *testing.T, cliPath *paths.Path) *ArduinoCLI {
71+
func NewArduinoCli(t *testing.T, config *ArduinoCLIConfig) *ArduinoCLI {
6272
return &ArduinoCLI{
63-
path: cliPath,
73+
path: config.ArduinoCLIPath,
6474
t: require.New(t),
6575
}
6676
}

internal/integrationtest/arduino-cli_daemon_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ func TestArduinoCliDaemon(t *testing.T) {
3131
env := NewEnvironment(t)
3232
defer env.CleanUp()
3333

34-
cli := NewArduinoCliWithinEnvironment(t, paths.New("..", "..", "arduino-cli"), env)
34+
cli := NewArduinoCliWithinEnvironment(t, &ArduinoCLIConfig{
35+
ArduinoCLIPath: paths.New("..", "..", "arduino-cli"),
36+
UseSharedStagingFolder: true,
37+
}, env)
3538
defer cli.CleanUp()
3639

3740
_, _, err := cli.Run("core", "update-index")

0 commit comments

Comments
 (0)