diff --git a/arduino/discovery/discovery_client/go.sum b/arduino/discovery/discovery_client/go.sum index 9368868ab9a..52b9cb5ea4f 100644 --- a/arduino/discovery/discovery_client/go.sum +++ b/arduino/discovery/discovery_client/go.sum @@ -314,7 +314,8 @@ go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13R go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q= go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= -go.bug.st/testsuite v0.0.1/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= +go.bug.st/testifyjson v1.0.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testsuite v0.1.0/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= diff --git a/client_example/go.sum b/client_example/go.sum index eb7d580b185..49f5b716440 100644 --- a/client_example/go.sum +++ b/client_example/go.sum @@ -296,7 +296,8 @@ go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13R go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q= go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= -go.bug.st/testsuite v0.0.1/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= +go.bug.st/testifyjson v1.0.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testsuite v0.1.0/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= diff --git a/docsgen/go.sum b/docsgen/go.sum index 5a115fd1b8c..de8994f09ca 100644 --- a/docsgen/go.sum +++ b/docsgen/go.sum @@ -372,7 +372,8 @@ go.bug.st/serial v1.3.2 h1:6BFZZd/wngoL5PPYYTrFUounF54SIkykHpT98eq6zvk= go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45 h1:mACY1anK6HNCZtm/DK2Rf2ZPHggVqeB0+7rY9Gl6wyI= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= -go.bug.st/testsuite v0.0.1/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= +go.bug.st/testifyjson v1.0.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testsuite v0.1.0/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= diff --git a/go.mod b/go.mod index 305d9f33131..65dcfdac366 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,10 @@ require ( gopkg.in/yaml.v2 v2.4.0 ) -require go.bug.st/testsuite v0.0.1 +require ( + go.bug.st/testifyjson v1.0.0 + go.bug.st/testsuite v0.1.0 +) require ( github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect diff --git a/go.sum b/go.sum index d4ba7f0c551..48ea0d4d3c3 100644 --- a/go.sum +++ b/go.sum @@ -374,8 +374,10 @@ go.bug.st/serial v1.3.2 h1:6BFZZd/wngoL5PPYYTrFUounF54SIkykHpT98eq6zvk= go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45 h1:mACY1anK6HNCZtm/DK2Rf2ZPHggVqeB0+7rY9Gl6wyI= go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= -go.bug.st/testsuite v0.0.1 h1:sdB+u46r+9ZVqROU1fl5utU773HktWDSc4hz6/jPK6A= -go.bug.st/testsuite v0.0.1/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= +go.bug.st/testifyjson v1.0.0 h1:eO7y5Qwziia+vyiaMFlnm5D40NMtkd7quSB7lJtcrjw= +go.bug.st/testifyjson v1.0.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testsuite v0.1.0 h1:oX4zdIB62+G5A0Kq4dja7Vy8tDiKqKVhhxkzhpMGgog= +go.bug.st/testsuite v0.1.0/go.mod h1:xCIDf97kf9USoz960Foy3CoquwhQmfuFRNh9git70as= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index e1ad8f29487..157d2f25a49 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -23,6 +23,7 @@ import ( "os" "strings" "sync" + "testing" "time" "github.com/arduino/arduino-cli/executils" @@ -34,6 +35,30 @@ import ( "google.golang.org/grpc" ) +// FindRepositoryRootPath returns the repository root path +func FindRepositoryRootPath(t *testing.T) *paths.Path { + repoRootPath := paths.New(".") + require.NoError(t, repoRootPath.ToAbs()) + for !repoRootPath.Join(".git").Exist() { + require.Contains(t, repoRootPath.String(), "arduino-cli", "Error searching for repository root path") + repoRootPath = repoRootPath.Parent() + } + return repoRootPath +} + +// CreateArduinoCLIWithEnvironment performs the minimum amount of actions +// to build the default test environment. +func CreateArduinoCLIWithEnvironment(t *testing.T) (*testsuite.Environment, *ArduinoCLI) { + env := testsuite.NewEnvironment(t) + + cli := NewArduinoCliWithinEnvironment(env, &ArduinoCLIConfig{ + ArduinoCLIPath: FindRepositoryRootPath(t).Join("arduino-cli"), + UseSharedStagingFolder: true, + }) + + return env, cli +} + // ArduinoCLI is an Arduino CLI client. type ArduinoCLI struct { path *paths.Path diff --git a/internal/integrationtest/cache/cache_test.go b/internal/integrationtest/cache/cache_test.go index 8c45123115a..9a24ce2dab0 100644 --- a/internal/integrationtest/cache/cache_test.go +++ b/internal/integrationtest/cache/cache_test.go @@ -19,22 +19,14 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/integrationtest" - "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" - "go.bug.st/testsuite" ) func TestCacheClean(t *testing.T) { // Clean the cache under arduino caching file directory which is "/staging" - - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - _, _, err := cli.Run("cache", "clean") require.NoError(t, err) diff --git a/internal/integrationtest/core/core_list_test.go b/internal/integrationtest/core/core_list_test.go index ac767d22011..516d9d2133b 100644 --- a/internal/integrationtest/core/core_list_test.go +++ b/internal/integrationtest/core/core_list_test.go @@ -21,21 +21,14 @@ import ( "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" - "go.bug.st/testsuite" - "go.bug.st/testsuite/requirejson" + "go.bug.st/testifyjson/requirejson" ) func TestCorrectHandlingOfPlatformVersionProperty(t *testing.T) { // See: https://github.com/arduino/arduino-cli/issues/1823 - - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // Copy test platform testPlatform := paths.New("testdata", "issue_1823", "DxCore-dev") require.NoError(t, testPlatform.CopyDirTo(cli.SketchbookDir().Join("hardware", "DxCore-dev"))) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 090793b7bdd..c110a125760 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -23,19 +23,13 @@ import ( "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" - "go.bug.st/testsuite" - "go.bug.st/testsuite/requirejson" + "go.bug.st/testifyjson/requirejson" ) func TestCoreSearch(t *testing.T) { - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // Set up an http server to serve our custom index file test_index := paths.New("..", "testdata", "test_index.json") url := env.HTTPServeFile(8000, test_index) diff --git a/internal/integrationtest/main/main_test.go b/internal/integrationtest/main/main_test.go index 940118410ff..376501924dc 100644 --- a/internal/integrationtest/main/main_test.go +++ b/internal/integrationtest/main/main_test.go @@ -21,22 +21,15 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/integrationtest" - "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" semver "go.bug.st/relaxed-semver" - "go.bug.st/testsuite" - "go.bug.st/testsuite/requirejson" + "go.bug.st/testifyjson/requirejson" ) func TestHelp(t *testing.T) { - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // Run help and check the output message stdout, stderr, err := cli.Run("help") require.NoError(t, err) @@ -45,14 +38,9 @@ func TestHelp(t *testing.T) { } func TestVersion(t *testing.T) { - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // Run version and check the output message stdout, stderr, err := cli.Run("version") require.NoError(t, err) @@ -87,14 +75,9 @@ func TestVersion(t *testing.T) { func TestLogOptions(t *testing.T) { // Using version as a test command - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // No logs stdout, _, err := cli.Run("version") require.NoError(t, err) @@ -143,14 +126,9 @@ func TestLogOptions(t *testing.T) { func TestInventoryCreation(t *testing.T) { // Using version as a test command - env := testsuite.NewEnvironment(t) + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"), - UseSharedStagingFolder: true, - }) - // no logs stdout, _, err := cli.Run("version") require.NoError(t, err)