Skip to content

Commit b6a025a

Browse files
author
jantje
committed
reorganize the boards in the tests
The class->boards link was unmaintainable. Now there is a static creator method for each board
1 parent a2d44d7 commit b6a025a

27 files changed

+453
-432
lines changed

io.sloeber.tests/src/io/sloeber/core/CompileAndUpload.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,11 @@
2727
import io.sloeber.core.api.CompileOptions;
2828
import io.sloeber.core.api.ConfigurationDescriptor;
2929
import io.sloeber.core.api.Sketch;
30+
import io.sloeber.core.boards.ArduinoBoards;
3031
import io.sloeber.core.boards.Due;
3132
import io.sloeber.core.boards.IBoard;
3233
import io.sloeber.core.boards.NodeMCUBoard;
3334
import io.sloeber.core.boards.Teensy3_1Board;
34-
import io.sloeber.core.boards.UnoBoard;
35-
import io.sloeber.core.boards.YunBoard;
36-
import io.sloeber.core.boards.Zero;
37-
import io.sloeber.core.boards.arduino101Board;
38-
import io.sloeber.core.boards.friedBoard;
39-
import io.sloeber.core.boards.leonardoBoard;
40-
import io.sloeber.core.boards.megaBoard;
4135
import io.sloeber.core.boards.wemosD1;
4236
import io.sloeber.core.common.ConfigurationPreferences;
4337

@@ -92,12 +86,15 @@ public static Collection examples() {
9286

9387

9488

95-
IBoard[] boards = { new NodeMCUBoard(), new Teensy3_1Board(), new wemosD1(), new friedBoard(), new YunBoard(),
96-
new UnoBoard(),
97-
new megaBoard(),
98-
new Zero(), new Due(),
99-
new leonardoBoard(),
100-
new arduino101Board() };
89+
IBoard[] boards = { new NodeMCUBoard(), new Teensy3_1Board(), new wemosD1(),
90+
ArduinoBoards.fried(),
91+
ArduinoBoards.yun(),
92+
ArduinoBoards.uno(),
93+
ArduinoBoards.getMega2560Board(),
94+
ArduinoBoards.zero(),
95+
new Due(),
96+
ArduinoBoards.leonardo(),
97+
ArduinoBoards.arduino_101() };
10198
// , new NodeMCUBoard()
10299
LinkedList<Object[]> examples = new LinkedList<>();
103100

io.sloeber.tests/src/io/sloeber/core/CreateAndCompileArduinoIDEExamplesOnAVRHardwareTest.java

Lines changed: 26 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,8 @@
2424
import io.sloeber.core.api.CodeDescriptor;
2525
import io.sloeber.core.api.CompileOptions;
2626
import io.sloeber.core.api.ConfigurationDescriptor;
27-
import io.sloeber.core.boards.AdafruitnCirquitPlaygroundBoard;
28-
import io.sloeber.core.boards.EsploraBoard;
29-
import io.sloeber.core.boards.GenericArduinoAvrBoard;
27+
import io.sloeber.core.boards.ArduinoBoards;
3028
import io.sloeber.core.boards.IBoard;
31-
import io.sloeber.core.boards.MegaADKBoard;
32-
import io.sloeber.core.boards.UnoBoard;
33-
import io.sloeber.core.boards.YunBoard;
34-
import io.sloeber.core.boards.leonardoBoard;
35-
import io.sloeber.core.boards.megaBoard;
3629

3730
@SuppressWarnings("nls")
3831
@RunWith(Parameterized.class)
@@ -112,134 +105,134 @@ public void testExample(IBoard board) {
112105

113106
@Test
114107
public void testArduinoIDEExamplesOnUno() {
115-
testExample(new UnoBoard());
108+
testExample(ArduinoBoards.uno());
116109
}
117110

118111
@Test
119112
public void testArduinoIDEExamplesOnLeonardo() {
120-
testExample(new leonardoBoard());
113+
testExample(ArduinoBoards.leonardo());
121114
}
122115

123116
@Test
124117
public void testArduinoIDEExamplesOnEsplora() {
125-
testExample(new EsploraBoard());
118+
testExample(ArduinoBoards.getEsploraBoard());
126119
}
127120

128121
@Test
129122
public void testArduinoIDEExamplesOnYun() {
130-
testExample(new YunBoard());
123+
testExample(ArduinoBoards.yun());
131124
}
132125

133126
@Test
134127
public void testArduinoIDEExamplesOnDiecimila() {
135-
testExample(new GenericArduinoAvrBoard("diecimila"));
128+
testExample( ArduinoBoards.getAvrBoard("diecimila"));
136129
}
137130

138131
@Test
139132
public void testArduinoIDEExamplesOnMega() {
140-
testExample(new megaBoard());
133+
testExample(ArduinoBoards.getMega2560Board());
141134
}
142135

143136
@Test
144137
public void testArduinoIDEExamplesOneMegaADK() {
145-
testExample(new MegaADKBoard());
138+
testExample(ArduinoBoards.MegaADK());
146139

147140
}
148141

149142
@Test
150143
public void testArduinoIDEExamplesOnLeonardoEth() {
151144

152-
testExample(new GenericArduinoAvrBoard("leonardoeth"));
145+
testExample( ArduinoBoards.getAvrBoard("leonardoeth"));
153146

154147
}
155148

156149
@Test
157150
public void testArduinoIDEExamplesOneMicro() {
158151

159-
testExample(new GenericArduinoAvrBoard("micro"));
152+
testExample( ArduinoBoards.getAvrBoard("micro"));
160153

161154
}
162155

163156
@Test
164157
public void testArduinoIDEExamplesOneMini() {
165-
testExample(new GenericArduinoAvrBoard("mini"));
158+
testExample( ArduinoBoards.getAvrBoard("mini"));
166159

167160
}
168161

169162
@Test
170163
public void testArduinoIDEExamplesOnEthernet() {
171-
testExample(new GenericArduinoAvrBoard("ethernet"));
164+
testExample( ArduinoBoards.getAvrBoard("ethernet"));
172165
}
173166

174167
@Test
175168
public void testArduinoIDEExamplesOnFio() {
176-
testExample(new GenericArduinoAvrBoard("fio"));
169+
testExample( ArduinoBoards.getAvrBoard("fio"));
177170
}
178171

179172
@Test
180173
public void testArduinoIDEExamplesOnBt() {
181-
testExample(new GenericArduinoAvrBoard("bt"));
174+
testExample( ArduinoBoards.getAvrBoard("bt"));
182175
}
183176

184177
@Test
185178
public void testArduinoIDEExamplesOnLilyPadUSB() {
186-
testExample(new GenericArduinoAvrBoard("LilyPadUSB"));
179+
testExample( ArduinoBoards.getAvrBoard("LilyPadUSB"));
187180
}
188181

189182
@Test
190183
public void testArduinoIDEExamplesOnlilypad() {
191-
testExample(new GenericArduinoAvrBoard("lilypad"));
184+
testExample( ArduinoBoards.getAvrBoard("lilypad"));
192185
}
193186

194187
@Test
195188
public void testArduinoIDEExamplesOnPro() {
196-
testExample(new GenericArduinoAvrBoard("pro"));
189+
testExample( ArduinoBoards.getAvrBoard("pro"));
197190
}
198191

199192
@Test
200193
public void testArduinoIDEExamplesOnatmegang() {
201-
testExample(new GenericArduinoAvrBoard("atmegang"));
194+
testExample( ArduinoBoards.getAvrBoard("atmegang"));
202195
}
203196

204197
@Test
205198
public void testArduinoIDEExamplesOnrobotControl() {
206-
testExample(new GenericArduinoAvrBoard("robotControl"));
199+
testExample( ArduinoBoards.getAvrBoard("robotControl"));
207200
}
208201

209202
@Test
210203
public void testArduinoIDEExamplesOnrobotMotor() {
211-
testExample(new GenericArduinoAvrBoard("robotMotor"));
204+
testExample( ArduinoBoards.getAvrBoard("robotMotor"));
212205
}
213206

214207
@Test
215208
public void testArduinoIDEExamplesOngemma() {
216-
testExample(new GenericArduinoAvrBoard("gemma"));
209+
testExample( ArduinoBoards.getAvrBoard("gemma"));
217210
}
218211

219212
@Test
220213
public void testArduinoIDEExamplesOncircuitplay32u4cat() {
221-
testExample(new AdafruitnCirquitPlaygroundBoard());
214+
testExample(ArduinoBoards.AdafruitnCirquitPlaygroundBoard());
222215
}
223216

224217
@Test
225218
public void testArduinoIDEExamplesOnyunmini() {
226-
testExample(new GenericArduinoAvrBoard("yunmini"));
219+
testExample( ArduinoBoards.getAvrBoard("yunmini"));
227220

228221
}
229222

230223
@Test
231224
public void testArduinoIDEExamplesOnchiwawa() {
232-
testExample(new GenericArduinoAvrBoard("chiwawa"));
225+
testExample( ArduinoBoards.getAvrBoard("chiwawa"));
233226
}
234227

235228
@Test
236229
public void testArduinoIDEExamplesOnone() {
237-
testExample(new GenericArduinoAvrBoard("one"));
230+
testExample( ArduinoBoards.getAvrBoard("one"));
238231
}
239232

240233
@Test
241234
public void testArduinoIDEExamplesOnunowifi() {
242-
testExample(new GenericArduinoAvrBoard("unowifi"));
235+
testExample( ArduinoBoards.getAvrBoard("unowifi"));
243236
}
244237

245238
public void BuildAndVerify(BoardDescriptor boardDescriptor) {

io.sloeber.tests/src/io/sloeber/core/CreateAndCompileExamplesTest.java

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,11 @@
2727
import io.sloeber.core.api.CompileOptions;
2828
import io.sloeber.core.api.ConfigurationDescriptor;
2929
import io.sloeber.core.api.LibraryManager;
30-
import io.sloeber.core.boards.AdafruitnCirquitPlaygroundBoard;
3130
import io.sloeber.core.boards.AdafruitnRF52idBoard;
31+
import io.sloeber.core.boards.ArduinoBoards;
3232
import io.sloeber.core.boards.Due;
33-
import io.sloeber.core.boards.EsploraBoard;
34-
import io.sloeber.core.boards.GenericArduinoAvrBoard;
3533
import io.sloeber.core.boards.IBoard;
3634
import io.sloeber.core.boards.NodeMCUBoard;
37-
import io.sloeber.core.boards.Primo;
38-
import io.sloeber.core.boards.UnoBoard;
39-
import io.sloeber.core.boards.Zero;
40-
import io.sloeber.core.boards.leonardoBoard;
41-
import io.sloeber.core.boards.megaBoard;
42-
import io.sloeber.core.boards.mkrfox1200;
4335

4436
@SuppressWarnings("nls")
4537
@RunWith(Parameterized.class)
@@ -62,9 +54,18 @@ public CreateAndCompileExamplesTest(String name, BoardDescriptor boardid, CodeDe
6254
public static Collection examples() {
6355
WaitForInstallerToFinish();
6456

65-
IBoard myBoards[] = { new leonardoBoard(), new UnoBoard(), new EsploraBoard(), new AdafruitnRF52idBoard(),
66-
new AdafruitnCirquitPlaygroundBoard(), new NodeMCUBoard(), new Primo(), new megaBoard(),
67-
new GenericArduinoAvrBoard("gemma"), new Zero(), new mkrfox1200(), new Due() };
57+
IBoard myBoards[] = { ArduinoBoards.leonardo(),
58+
ArduinoBoards.uno(),
59+
ArduinoBoards.getEsploraBoard(),
60+
new AdafruitnRF52idBoard(),
61+
ArduinoBoards.AdafruitnCirquitPlaygroundBoard(),
62+
new NodeMCUBoard(),
63+
ArduinoBoards.primo(),
64+
ArduinoBoards.getMega2560Board(),
65+
ArduinoBoards.getGemma(),
66+
ArduinoBoards.zero(),
67+
ArduinoBoards.mkrfox1200(),
68+
new Due() };
6869

6970
LinkedList<Object[]> examples = new LinkedList<>();
7071
TreeMap<String, IPath> exampleFolders = BoardsManager.getAllLibraryExamples();
@@ -88,14 +89,11 @@ public static Collection examples() {
8889
}
8990

9091
// with the current amount of examples only do one
91-
for (IBoard curBoard : myBoards) {
92-
if (curBoard.isExampleOk(inoName, libName)) {
93-
Object[] theData = new Object[] { inoName.trim(), curBoard.getBoardDescriptor(), codeDescriptor };
92+
BoardDescriptor curBoard =IBoard.pickBestBoard(inoName, libName,myBoards);
93+
if (curBoard!=null) {
94+
Object[] theData = new Object[] { inoName.trim(), curBoard, codeDescriptor };
9495
examples.add(theData);
95-
break;
9696
}
97-
98-
}
9997
}
10098

10199
return examples;
@@ -184,6 +182,11 @@ public void BuildAndVerify(BoardDescriptor boardid, CodeDescriptor codeDescripto
184182
} catch (CoreException e) {
185183
e.printStackTrace();
186184
totalFails++;
185+
try {
186+
theTestProject.close(null);
187+
} catch (@SuppressWarnings("unused") CoreException e1) {
188+
//fully ignore
189+
}
187190
fail("Failed to compile the project:" + projectName + " exception");
188191
}
189192
}

0 commit comments

Comments
 (0)