Skip to content

Commit 3b52ee4

Browse files
Fix tool loading testcases
In commit 7520e66 (Removed no more used "coan" tools), one tool was removed, but these testcases were not updated accordingly. This commit updates the testcases with the correct number of tools to expect. While here, the testcases are expanded to also explicitely check the name and version number for all tools. This makes the test more complete, but also documents what tools and versions are expected exactly, which makes it easier to diagnose problems like this one later. Also, instead of using hardcoded array indices, this converts the latter two testcases to use an idx variable, just like the first testcase. This makes it easier to insert a new tool later. Signed-off-by: Matthijs Kooijman <[email protected]>
1 parent ed7176f commit 3b52ee4

File tree

1 file changed

+51
-16
lines changed

1 file changed

+51
-16
lines changed

Diff for: src/arduino.cc/builder/test/tools_loader_test.go

+51-16
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func TestLoadTools(t *testing.T) {
6464
NoError(t, err)
6565

6666
tools := ctx.Tools
67-
require.Equal(t, 7, len(tools))
67+
require.Equal(t, 6, len(tools))
6868

6969
sort.Sort(ByToolIDAndVersion(tools))
7070

@@ -88,6 +88,10 @@ func TestLoadTools(t *testing.T) {
8888
require.Equal(t, "bossac", tools[idx].Name)
8989
require.Equal(t, "1.6.1-arduino", tools[idx].Version)
9090
require.Equal(t, Abs(t, "./downloaded_tools/bossac/1.6.1-arduino"), tools[idx].Folder)
91+
idx++
92+
require.Equal(t, "ctags", tools[idx].Name)
93+
require.Equal(t, "5.8-arduino10", tools[idx].Version)
94+
require.Equal(t, Abs(t, "./downloaded_tools/ctags/5.8-arduino10"), tools[idx].Folder)
9195
}
9296

9397
func TestLoadToolsWithBoardManagerFolderStructure(t *testing.T) {
@@ -106,14 +110,18 @@ func TestLoadToolsWithBoardManagerFolderStructure(t *testing.T) {
106110

107111
sort.Sort(ByToolIDAndVersion(tools))
108112

109-
require.Equal(t, "CMSIS", tools[0].Name)
110-
require.Equal(t, "arm-none-eabi-gcc", tools[1].Name)
111-
require.Equal(t, "4.8.3-2014q1", tools[1].Version)
112-
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/RFduino/tools/arm-none-eabi-gcc/4.8.3-2014q1"), tools[1].Folder)
113-
114-
require.Equal(t, "openocd", tools[2].Name)
115-
require.Equal(t, "0.9.0-arduino", tools[2].Version)
116-
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/openocd/0.9.0-arduino"), tools[2].Folder)
113+
idx := 0
114+
require.Equal(t, "CMSIS", tools[idx].Name)
115+
require.Equal(t, "4.0.0-atmel", tools[idx].Version)
116+
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/CMSIS/4.0.0-atmel"), tools[idx].Folder)
117+
idx++
118+
require.Equal(t, "arm-none-eabi-gcc", tools[idx].Name)
119+
require.Equal(t, "4.8.3-2014q1", tools[idx].Version)
120+
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/RFduino/tools/arm-none-eabi-gcc/4.8.3-2014q1"), tools[idx].Folder)
121+
idx++
122+
require.Equal(t, "openocd", tools[idx].Name)
123+
require.Equal(t, "0.9.0-arduino", tools[idx].Version)
124+
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/openocd/0.9.0-arduino"), tools[idx].Folder)
117125
}
118126

119127
func TestLoadLotsOfTools(t *testing.T) {
@@ -128,13 +136,40 @@ func TestLoadLotsOfTools(t *testing.T) {
128136
NoError(t, err)
129137

130138
tools := ctx.Tools
131-
require.Equal(t, 9, len(tools))
139+
require.Equal(t, 8, len(tools))
132140

133-
require.Equal(t, "arm-none-eabi-gcc", tools[0].Name)
134-
require.Equal(t, "4.8.3-2014q1", tools[0].Version)
141+
sort.Sort(ByToolIDAndVersion(tools))
135142

136-
require.Equal(t, "CMSIS", tools[7].Name)
137-
require.Equal(t, "openocd", tools[8].Name)
138-
require.Equal(t, "0.9.0-arduino", tools[8].Version)
139-
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/openocd/0.9.0-arduino"), tools[8].Folder)
143+
idx := 0
144+
require.Equal(t, "CMSIS", tools[idx].Name)
145+
require.Equal(t, "4.0.0-atmel", tools[idx].Version)
146+
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/CMSIS/4.0.0-atmel"), tools[idx].Folder)
147+
idx++
148+
require.Equal(t, "arm-none-eabi-gcc", tools[idx].Name)
149+
require.Equal(t, "4.8.3-2014q1", tools[idx].Version)
150+
require.Equal(t, Abs(t, "./downloaded_tools/arm-none-eabi-gcc/4.8.3-2014q1"), tools[idx].Folder)
151+
idx++
152+
require.Equal(t, "avr-gcc", tools[idx].Name)
153+
require.Equal(t, "4.8.1-arduino5", tools[idx].Version)
154+
require.Equal(t, Abs(t, "./downloaded_tools/avr-gcc/4.8.1-arduino5"), tools[idx].Folder)
155+
idx++
156+
require.Equal(t, "avrdude", tools[idx].Name)
157+
require.Equal(t, "6.0.1-arduino5", tools[idx].Version)
158+
require.Equal(t, Abs(t, "./downloaded_tools/avrdude/6.0.1-arduino5"), tools[idx].Folder)
159+
idx++
160+
require.Equal(t, "bossac", tools[idx].Name)
161+
require.Equal(t, "1.5-arduino", tools[idx].Version)
162+
require.Equal(t, Abs(t, "./downloaded_tools/bossac/1.5-arduino"), tools[idx].Folder)
163+
idx++
164+
require.Equal(t, "bossac", tools[idx].Name)
165+
require.Equal(t, "1.6.1-arduino", tools[idx].Version)
166+
require.Equal(t, Abs(t, "./downloaded_tools/bossac/1.6.1-arduino"), tools[idx].Folder)
167+
idx++
168+
require.Equal(t, "ctags", tools[idx].Name)
169+
require.Equal(t, "5.8-arduino10", tools[idx].Version)
170+
require.Equal(t, Abs(t, "./downloaded_tools/ctags/5.8-arduino10"), tools[idx].Folder)
171+
idx++
172+
require.Equal(t, "openocd", tools[idx].Name)
173+
require.Equal(t, "0.9.0-arduino", tools[idx].Version)
174+
require.Equal(t, Abs(t, "./downloaded_board_manager_stuff/arduino/tools/openocd/0.9.0-arduino"), tools[idx].Folder)
140175
}

0 commit comments

Comments
 (0)