Unverified Commit 04cbdffa authored by Cristian Maglie's avatar Cristian Maglie Committed by GitHub

[skip-changelog] Reuse already installed platforms to speed up integration tests (#1913)

* Factor all compile_part_1 and 2 test setup

* Made an object to simplify running of subtests

* Moved all subtests in the same file

Just moved functions around, no code change.

* Reuse installed platform to speedup debug integration tests
parent 063f4f86
......@@ -22,7 +22,7 @@ import (
"github.com/stretchr/testify/require"
)
func TestDebuggerStarts(t *testing.T) {
func TestDebug(t *testing.T) {
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
defer env.CleanUp()
......@@ -34,12 +34,20 @@ func TestDebuggerStarts(t *testing.T) {
_, _, err = cli.Run("core", "install", "arduino:samd")
require.NoError(t, err)
integrationtest.CLISubtests{
{"Start", testDebuggerStarts},
{"WithPdeSketchStarts", testDebuggerWithPdeSketchStarts},
}.Run(t, env, cli)
}
func testDebuggerStarts(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {
// Create sketch for testing
sketchName := "DebuggerStartTest"
sketchPath := cli.DataDir().Join(sketchName)
defer sketchPath.RemoveAll()
fqbn := "arduino:samd:mkr1000"
_, _, err = cli.Run("sketch", "new", sketchPath.String())
_, _, err := cli.Run("sketch", "new", sketchPath.String())
require.NoError(t, err)
// Build sketch
......@@ -52,22 +60,13 @@ func TestDebuggerStarts(t *testing.T) {
require.NoError(t, err)
}
func TestDebuggerWithPdeSketchStarts(t *testing.T) {
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
defer env.CleanUp()
_, _, err := cli.Run("update")
require.NoError(t, err)
// Install core
_, _, err = cli.Run("core", "install", "arduino:samd")
require.NoError(t, err)
func testDebuggerWithPdeSketchStarts(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {
sketchName := "DebuggerPdeSketchStartTest"
sketchPath := cli.DataDir().Join(sketchName)
defer sketchPath.RemoveAll()
fqbn := "arduino:samd:mkr1000"
_, _, err = cli.Run("sketch", "new", sketchPath.String())
_, _, err := cli.Run("sketch", "new", sketchPath.String())
require.NoError(t, err)
// Looks for sketch file .ino
......
// This file is part of arduino-cli.
//
// Copyright 2022 ARDUINO SA (http://www.arduino.cc/)
//
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to license@arduino.cc.
package integrationtest
import "testing"
// CLISubtests is a suite of tests to run under the same integreationtest.Environment
type CLISubtests []struct {
Name string
Function func(*testing.T, *Environment, *ArduinoCLI)
}
// Run runs the test suite as subtests of the current test
func (testSuite CLISubtests) Run(t *testing.T, env *Environment, cli *ArduinoCLI) {
for _, test := range testSuite {
t.Run(test.Name, func(t *testing.T) {
test.Function(t, env, cli)
})
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment