Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit daeaf78

Browse files
author
Luca Bianconi
committedJan 11, 2023
test: fix failing test
1 parent d9fc74b commit daeaf78

File tree

2 files changed

+40
-16
lines changed

2 files changed

+40
-16
lines changed
 

‎internal/integrationtest/arduino-cli.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ func NewArduinoCliWithinEnvironment(env *Environment, config *ArduinoCLIConfig)
108108
}
109109

110110
cli.cliEnvVars = map[string]string{
111-
"LANG": "en",
112-
"ARDUINO_DATA_DIR": cli.dataDir.String(),
113-
"ARDUINO_DOWNLOADS_DIR": cli.stagingDir.String(),
114-
"ARDUINO_SKETCHBOOK_DIR": cli.sketchbookDir.String(),
111+
"LANG": "en",
112+
"ARDUINO_DATA_DIR": cli.dataDir.String(),
113+
"ARDUINO_DOWNLOADS_DIR": cli.stagingDir.String(),
114+
"ARDUINO_SKETCHBOOK_DIR": cli.sketchbookDir.String(),
115115
"ARDUINO_BUILD_CACHE_COMPILATIONS_BEFORE_PURGE": "0",
116116
}
117117
env.RegisterCleanUpCallback(cli.CleanUp)

‎internal/integrationtest/compile_1/compile_test.go

+36-12
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"encoding/hex"
2121
"encoding/json"
2222
"os"
23+
"sort"
2324
"strings"
2425
"testing"
2526
"time"
@@ -1043,18 +1044,41 @@ func compileWithRelativeBuildPath(t *testing.T, env *integrationtest.Environment
10431044
absoluteBuildPath := cli.SketchbookDir().Join("build_path")
10441045
builtFiles, err := absoluteBuildPath.ReadDir()
10451046
require.NoError(t, err)
1046-
require.Contains(t, builtFiles[8].String(), sketchName+".ino.eep")
1047-
require.Contains(t, builtFiles[9].String(), sketchName+".ino.elf")
1048-
require.Contains(t, builtFiles[10].String(), sketchName+".ino.hex")
1049-
require.Contains(t, builtFiles[11].String(), sketchName+".ino.with_bootloader.bin")
1050-
require.Contains(t, builtFiles[12].String(), sketchName+".ino.with_bootloader.hex")
1051-
require.Contains(t, builtFiles[0].String(), "build.options.json")
1052-
require.Contains(t, builtFiles[1].String(), "compile_commands.json")
1053-
require.Contains(t, builtFiles[2].String(), "core")
1054-
require.Contains(t, builtFiles[3].String(), "includes.cache")
1055-
require.Contains(t, builtFiles[4].String(), "libraries")
1056-
require.Contains(t, builtFiles[6].String(), "preproc")
1057-
require.Contains(t, builtFiles[7].String(), "sketch")
1047+
1048+
expectedFiles := []string{
1049+
sketchName + ".ino.eep",
1050+
sketchName + ".ino.elf",
1051+
sketchName + ".ino.hex",
1052+
sketchName + ".ino.with_bootloader.bin",
1053+
sketchName + ".ino.with_bootloader.hex",
1054+
"build.options.json",
1055+
"compile_commands.json",
1056+
"core",
1057+
"includes.cache",
1058+
"libraries",
1059+
"preproc",
1060+
"sketch",
1061+
}
1062+
1063+
foundFiles := []string{}
1064+
for _, builtFile := range builtFiles {
1065+
if sliceIncludes(expectedFiles, builtFile.Base()) {
1066+
foundFiles = append(foundFiles, builtFile.Base())
1067+
}
1068+
}
1069+
sort.Strings(expectedFiles)
1070+
sort.Strings(foundFiles)
1071+
require.Equal(t, expectedFiles, foundFiles)
1072+
}
1073+
1074+
// TODO: remove this when a generic library is introduced
1075+
func sliceIncludes[T comparable](slice []T, target T) bool {
1076+
for _, e := range slice {
1077+
if e == target {
1078+
return true
1079+
}
1080+
}
1081+
return false
10581082
}
10591083

10601084
func compileWithFakeSecureBootCore(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {

0 commit comments

Comments
 (0)
Please sign in to comment.