]> git.gir.st - tmk_keyboard.git/blob - tmk_core/tool/mbed/mbed-sdk/workspace_tools/tests.py
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[tmk_keyboard.git] / tmk_core / tool / mbed / mbed-sdk / workspace_tools / tests.py
1 """
2 mbed SDK
3 Copyright (c) 2011-2013 ARM Limited
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 """
17 from workspace_tools.paths import *
18 from workspace_tools.data.support import *
19
20 TEST_CMSIS_LIB = join(TEST_DIR, "cmsis", "lib")
21 TEST_MBED_LIB = join(TEST_DIR, "mbed", "env")
22
23 PERIPHERALS = join(TEST_DIR, "peripherals")
24 BENCHMARKS_DIR = join(TEST_DIR, "benchmarks")
25
26 SD = join(TEST_DIR, "sd")
27 TMP102 = join(PERIPHERALS, 'TMP102')
28
29 """
30 Wiring:
31 * Ground:
32 * LPC1*: p1
33 * KL25Z: GND
34
35 * Vout
36 * LPC1*: p40
37 * KL25Z: P3V3
38
39 * TMP102 (I2C):
40 * LPC1*: (SDA=p28 , SCL=p27)
41 * KL25Z: (SDA=PTC9, SCL=PTC8)
42 * MAXWSNENV: (SDA=TP6, SCL=TP5)
43
44 * digital_loop (Digital(In|Out|InOut), InterruptIn):
45 * Arduino headers: (D0 <-> D7)
46 * LPC1549: (D2 <-> D7)
47 * LPC1*: (p5 <-> p25 )
48 * KL25Z: (PTA5<-> PTC6)
49 * NUCLEO_F103RB: (PC_6 <-> PB_8)
50 * MAXWSNENV: (TP3 <-> TP4)
51 * MAX32600MBED: (P1_0 <-> P4_7)
52
53 * port_loop (Port(In|Out|InOut)):
54 * Arduino headers: (D0 <-> D7), (D1 <-> D6)
55 * LPC1*: (p5 <-> p25), (p6 <-> p26)
56 * KL25Z: (PTA5 <-> PTC6), (PTA4 <-> PTC5)
57 * NUCLEO_F103RB: (PC_6 <-> PB_8), (PC_5 <-> PB_9)
58 * MAXWSNENV: (TP1 <-> TP3), (TP2 <-> TP4)
59 * MAX32600MBED: (P1_0 <-> P4_7), (P1_1 <-> P4_6)
60
61 * analog_loop (AnalogIn, AnalogOut):
62 * Arduino headers: (A0 <-> A5)
63 * LPC1549: (A0 <-> D12)
64 * LPC1*: (p17 <-> p18 )
65 * KL25Z: (PTE30 <-> PTC2)
66
67 * analog_pot (AnalogIn):
68 * Arduino headers: (A0, A1)
69
70 * SD (SPI):
71 * LPC1*: (mosi=p11 , miso=p12 , sclk=p13 , cs=p14 )
72 * KL25Z: (mosi=PTD2, miso=PTD3, sclk=PTD1, cs=PTD0)
73
74 * MMA7660 (I2C):
75 * LPC1*: (SDA=p28 , SCL=p27)
76
77 * i2c_loop:
78 * LPC1768: (p28 <-> p9), (p27 <-> p10)
79
80 * i2c_eeprom:
81 * LPC1*: (SDA=p28 , SCL=p27)
82 * KL25Z: (SDA=PTE0, SCL=PTE1)
83
84 """
85 TESTS = [
86 # Automated MBED tests
87 {
88 "id": "MBED_A1", "description": "Basic",
89 "source_dir": join(TEST_DIR, "mbed", "basic"),
90 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
91 "automated": True,
92 },
93 {
94 "id": "MBED_A2", "description": "Semihost file system",
95 "source_dir": join(TEST_DIR, "mbed", "file"),
96 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
97 "automated": True,
98 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
99 },
100 {
101 "id": "MBED_A3", "description": "C++ STL",
102 "source_dir": join(TEST_DIR, "mbed", "stl"),
103 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
104 "automated": False,
105 },
106 {
107 "id": "MBED_A4", "description": "I2C TMP102",
108 "source_dir": join(TEST_DIR, "mbed", "i2c_TMP102"),
109 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, TMP102],
110 "automated": True,
111 "peripherals": ["TMP102"]
112 },
113 {
114 "id": "MBED_A5", "description": "DigitalIn DigitalOut",
115 "source_dir": join(TEST_DIR, "mbed", "digitalin_digitalout"),
116 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
117 "automated": True,
118 "peripherals": ["digital_loop"]
119 },
120 {
121 "id": "MBED_A6", "description": "DigitalInOut",
122 "source_dir": join(TEST_DIR, "mbed", "digitalinout"),
123 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
124 "automated": True,
125 "peripherals": ["digital_loop"]
126 },
127 {
128 "id": "MBED_A7", "description": "InterruptIn",
129 "source_dir": join(TEST_DIR, "mbed", "interruptin"),
130 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
131 "duration": 15,
132 "automated": True,
133 "peripherals": ["digital_loop"]
134 },
135 {
136 "id": "MBED_A8", "description": "Analog",
137 "source_dir": join(TEST_DIR, "mbed", "analog"),
138 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
139 "automated": True,
140 "peripherals": ["analog_loop"],
141 "mcu": ["LPC1768", "LPC2368", "KL25Z", "K64F", "K22F", "LPC4088", "LPC1549",
142 "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_F302R8", "NUCLEO_F303RE",
143 "NUCLEO_F334R8", "NUCLEO_L053R8", "NUCLEO_L073RZ", "NUCLEO_L152RE",
144 "NUCLEO_F411RE", "DISCO_F407VG", "ARCH_MAX", "MAX32600MBED"]
145 },
146 {
147 "id": "MBED_A9", "description": "Serial Echo at 115200",
148 "source_dir": join(TEST_DIR, "mbed", "echo"),
149 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
150 "automated": True,
151 #"host_test": "echo"
152 },
153 {
154 "id": "MBED_A10", "description": "PortOut PortIn",
155 "source_dir": join(TEST_DIR, "mbed", "portout_portin"),
156 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
157 "peripherals": ["port_loop"],
158 "supported": DEFAULT_SUPPORT,
159 "automated": True,
160 },
161 {
162 "id": "MBED_A11", "description": "PortInOut",
163 "source_dir": join(TEST_DIR, "mbed", "portinout"),
164 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
165 "peripherals": ["port_loop"],
166 "supported": DEFAULT_SUPPORT,
167 "automated": True,
168 },
169 {
170 "id": "MBED_A12", "description": "SD File System",
171 "source_dir": join(TEST_DIR, "mbed", "sd"),
172 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
173 "automated": True,
174 "duration": 15,
175 "peripherals": ["SD"]
176 },
177 {
178 "id": "MBED_A13", "description": "I2C MMA7660 accelerometer",
179 "source_dir": join(TEST_DIR, "mbed", "i2c_MMA7660"),
180 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'MMA7660')],
181 "automated": True,
182 "peripherals": ["MMA7660"]
183 },
184 {
185 "id": "MBED_A14", "description": "I2C Master",
186 "source_dir": join(TEST_DIR, "mbed", "i2c_master"),
187 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
188 },
189 {
190 "id": "MBED_A15", "description": "I2C Slave",
191 "source_dir": join(TEST_DIR, "mbed", "i2c_slave"),
192 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
193 },
194 {
195 "id": "MBED_A16", "description": "SPI Master",
196 "source_dir": join(TEST_DIR, "mbed", "spi_master"),
197 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
198 },
199 {
200 "id": "MBED_A17", "description": "SPI Slave",
201 "source_dir": join(TEST_DIR, "mbed", "spi_slave"),
202 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
203 },
204 {
205 "id": "MBED_A18", "description": "Interrupt vector relocation",
206 "source_dir": join(TEST_DIR, "mbed", "vtor_reloc"),
207 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
208 "mcu": ["LPC1768"],
209 "automated": True,
210 },
211 {
212 "id": "MBED_A19", "description": "I2C EEPROM read/write test",
213 "source_dir": join(TEST_DIR, "mbed", "i2c_eeprom"),
214 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
215 "peripherals": ["24LC256"],
216 "automated": True,
217 "duration": 15,
218 },
219 {
220 "id": "MBED_A20", "description": "I2C master/slave test",
221 "source_dir": join(TEST_DIR, "mbed", "i2c_master_slave"),
222 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
223 "mcu": ["LPC1768", "RZ_A1H"],
224 "peripherals": ["i2c_loop"]
225 },
226 {
227 "id": "MBED_A21", "description": "Call function before main (mbed_main)",
228 "source_dir": join(TEST_DIR, "mbed", "call_before_main"),
229 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
230 "automated": True,
231 },
232 {
233 "id": "MBED_A22", "description": "SPIFI for LPC4088 (test 1)",
234 "source_dir": join(TEST_DIR, "mbed", "spifi1"),
235 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
236 "automated": True,
237 "duration": 30,
238 "mcu": ["LPC4088","LPC4088_DM"]
239 },
240 {
241 "id": "MBED_A23", "description": "SPIFI for LPC4088 (test 2)",
242 "source_dir": join(TEST_DIR, "mbed", "spifi2"),
243 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
244 "automated": True,
245 "duration": 30,
246 "mcu": ["LPC4088","LPC4088_DM"]
247 },
248 {
249 "id": "MBED_A24", "description": "Serial echo with RTS/CTS flow control",
250 "source_dir": join(TEST_DIR, "mbed", "echo_flow_control"),
251 "dependencies": [MBED_LIBRARIES],
252 "automated": "True",
253 "host_test": "echo_flow_control",
254 "mcu": ["LPC1768"],
255 "peripherals": ["extra_serial"]
256 },
257 {
258 "id": "MBED_A25", "description": "I2C EEPROM line read/write test",
259 "source_dir": join(TEST_DIR, "mbed", "i2c_eeprom_line"),
260 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
261 "peripherals": ["24LC256"],
262 "automated": True,
263 "duration": 10,
264 },
265 {
266 "id": "MBED_A26", "description": "AnalogIn potentiometer test",
267 "source_dir": join(TEST_DIR, "mbed", "analog_pot"),
268 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
269 "peripherals": ["analog_pot"],
270 "automated": True,
271 "duration": 10,
272 },
273 {
274 "id": "MBED_BLINKY", "description": "Blinky",
275 "source_dir": join(TEST_DIR, "mbed", "blinky"),
276 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
277 "automated": False,
278 },
279 {
280 "id": "MBED_BUS", "description": "Blinky BUS",
281 "source_dir": join(TEST_DIR, "mbed", "bus"),
282 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
283 "automated": False,
284 "duration": 15,
285 },
286
287 {
288 "id": "MBED_BUSOUT", "description": "BusOut",
289 "source_dir": join(TEST_DIR, "mbed", "bus_out"),
290 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
291 "automated": True,
292 "duration": 15,
293 },
294
295 # Size benchmarks
296 {
297 "id": "BENCHMARK_1", "description": "Size (c environment)",
298 "source_dir": join(BENCHMARKS_DIR, "cenv"),
299 "dependencies": [MBED_LIBRARIES]
300 },
301 {
302 "id": "BENCHMARK_2", "description": "Size (float math)",
303 "source_dir": join(BENCHMARKS_DIR, "float_math"),
304 "dependencies": [MBED_LIBRARIES]
305 },
306 {
307 "id": "BENCHMARK_3", "description": "Size (printf)",
308 "source_dir": join(BENCHMARKS_DIR, "printf"),
309 "dependencies": [MBED_LIBRARIES]
310 },
311 {
312 "id": "BENCHMARK_4", "description": "Size (mbed libs)",
313 "source_dir": join(BENCHMARKS_DIR, "mbed"),
314 "dependencies": [MBED_LIBRARIES]
315 },
316 {
317 "id": "BENCHMARK_5", "description": "Size (all)",
318 "source_dir": join(BENCHMARKS_DIR, "all"),
319 "dependencies": [MBED_LIBRARIES]
320 },
321
322 # performance related tests
323 {
324 "id": "PERF_1", "description": "SD Stdio R/W Speed",
325 "source_dir": join(TEST_DIR, "mbed", "sd_perf_stdio"),
326 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
327 "automated": True,
328 "duration": 15,
329 "peripherals": ["SD"]
330 },
331 {
332 "id": "PERF_2", "description": "SD FileHandle R/W Speed",
333 "source_dir": join(TEST_DIR, "mbed", "sd_perf_fhandle"),
334 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
335 "automated": True,
336 "duration": 15,
337 "peripherals": ["SD"]
338 },
339 {
340 "id": "PERF_3", "description": "SD FatFS R/W Speed",
341 "source_dir": join(TEST_DIR, "mbed", "sd_perf_fatfs"),
342 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
343 "automated": True,
344 "duration": 15,
345 "peripherals": ["SD"]
346 },
347
348
349 # Not automated MBED tests
350 {
351 "id": "MBED_1", "description": "I2C SRF08",
352 "source_dir": join(TEST_DIR, "mbed", "i2c_SRF08"),
353 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'SRF08')],
354 "peripherals": ["SRF08"]
355 },
356 {
357 "id": "MBED_2", "description": "stdio",
358 "source_dir": join(TEST_DIR, "mbed", "stdio"),
359 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
360 "duration": 20,
361 "automated": True,
362 #"host_test": "stdio_auto"
363 },
364 {
365 "id": "MBED_3", "description": "PortOut",
366 "source_dir": join(TEST_DIR, "mbed", "portout"),
367 "dependencies": [MBED_LIBRARIES],
368 },
369 {
370 "id": "MBED_4", "description": "Sleep",
371 "source_dir": join(TEST_DIR, "mbed", "sleep"),
372 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
373 "duration": 30,
374 "mcu": ["LPC1768", "LPC11U24", "LPC4088","LPC4088_DM","NRF51822", "LPC11U68"]
375 },
376 {
377 "id": "MBED_5", "description": "PWM",
378 "source_dir": join(TEST_DIR, "mbed", "pwm"),
379 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
380 },
381 {
382 "id": "MBED_6", "description": "SW Reset",
383 "source_dir": join(TEST_DIR, "mbed", "reset"),
384 "dependencies": [MBED_LIBRARIES],
385 "duration": 15
386 },
387 {
388 "id": "MBED_7", "description": "stdio benchmark",
389 "source_dir": join(TEST_DIR, "mbed", "stdio_benchmark"),
390 "dependencies": [MBED_LIBRARIES],
391 "duration": 40
392 },
393 {
394 "id": "MBED_8", "description": "SPI",
395 "source_dir": join(TEST_DIR, "mbed", "spi"),
396 "dependencies": [MBED_LIBRARIES],
397 },
398 {
399 "id": "MBED_9", "description": "Sleep Timeout",
400 "source_dir": join(TEST_DIR, "mbed", "sleep_timeout"),
401 "dependencies": [MBED_LIBRARIES],
402 },
403 {
404 "id": "MBED_10", "description": "Hello World",
405 "source_dir": join(TEST_DIR, "mbed", "hello"),
406 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
407 "automated": True,
408 #"host_test": "hello_auto",
409 },
410 {
411 "id": "MBED_11", "description": "Ticker Int",
412 "source_dir": join(TEST_DIR, "mbed", "ticker"),
413 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
414 "automated": True,
415 #"host_test": "wait_us_auto",
416 "duration": 20,
417 },
418 {
419 "id": "MBED_12", "description": "C++",
420 "source_dir": join(TEST_DIR, "mbed", "cpp"),
421 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
422 "automated": True
423 },
424 {
425 "id": "MBED_13", "description": "Heap & Stack",
426 "source_dir": join(TEST_DIR, "mbed", "heap_and_stack"),
427 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
428 },
429 {
430 "id": "MBED_14", "description": "Serial Interrupt",
431 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt"),
432 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
433 },
434 {
435 "id": "MBED_15", "description": "RPC",
436 "source_dir": join(TEST_DIR, "mbed", "rpc"),
437 "dependencies": [MBED_LIBRARIES, join(LIB_DIR, "rpc"), TEST_MBED_LIB],
438 "automated": False,
439 "mcu": ["LPC1768"]
440 },
441 {
442 "id": "MBED_16", "description": "RTC",
443 "source_dir": join(TEST_DIR, "mbed", "rtc"),
444 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
445 "automated": True,
446 #"host_test": "rtc_auto",
447 "duration": 15
448 },
449 {
450 "id": "MBED_17", "description": "Serial Interrupt 2",
451 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt_2"),
452 "dependencies": [MBED_LIBRARIES],
453 },
454 {
455 "id": "MBED_18", "description": "Local FS Directory",
456 "source_dir": join(TEST_DIR, "mbed", "dir"),
457 "dependencies": [MBED_LIBRARIES],
458 },
459 {
460 "id": "MBED_19", "description": "SD FS Directory",
461 "source_dir": join(TEST_DIR, "mbed", "dir_sd"),
462 "dependencies": [MBED_LIBRARIES, FS_LIBRARY],
463 "peripherals": ["SD"]
464 },
465 {
466 "id": "MBED_20", "description": "InterruptIn 2",
467 "source_dir": join(TEST_DIR, "mbed", "interruptin_2"),
468 "dependencies": [MBED_LIBRARIES],
469 },
470 {
471 "id": "MBED_21", "description": "freopen Stream",
472 "source_dir": join(TEST_DIR, "mbed", "freopen"),
473 "dependencies": [MBED_LIBRARIES],
474 },
475 {
476 "id": "MBED_22", "description": "Semihost",
477 "source_dir": join(TEST_DIR, "mbed", "semihost"),
478 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
479 "automated": True,
480 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
481 },
482 {
483 "id": "MBED_23", "description": "Ticker Int us",
484 "source_dir": join(TEST_DIR, "mbed", "ticker_2"),
485 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
486 "duration": 15,
487 "automated": True,
488 #"host_test": "wait_us_auto"
489 },
490 {
491 "id": "MBED_24", "description": "Timeout Int us",
492 "source_dir": join(TEST_DIR, "mbed", "timeout"),
493 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
494 "duration": 15,
495 "automated": True,
496 #"host_test": "wait_us_auto"
497 },
498 {
499 "id": "MBED_25", "description": "Time us",
500 "source_dir": join(TEST_DIR, "mbed", "time_us"),
501 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
502 "duration": 15,
503 "automated": True,
504 #"host_test": "wait_us_auto"
505 },
506 {
507 "id": "MBED_26", "description": "Integer constant division",
508 "source_dir": join(TEST_DIR, "mbed", "div"),
509 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
510 "automated": True,
511 },
512 {
513 "id": "MBED_27", "description": "SPI ADXL345",
514 "source_dir": join(TEST_DIR, "mbed", "spi_ADXL345"),
515 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'ADXL345')],
516 "peripherals": ["ADXL345"]
517 },
518 {
519 "id": "MBED_28", "description": "Interrupt chaining (InterruptManager)",
520 "source_dir": join(TEST_DIR, "mbed", "interrupt_chaining"),
521 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
522 },
523 {
524 "id": "MBED_29", "description": "CAN network test",
525 "source_dir": join(TEST_DIR, "mbed", "can"),
526 "dependencies": [MBED_LIBRARIES],
527 "mcu": ["LPC1768", "LPC4088", "LPC1549"]
528 },
529 {
530 "id": "MBED_30", "description": "CAN network test using interrupts",
531 "source_dir": join(TEST_DIR, "mbed", "can_interrupt"),
532 "dependencies": [MBED_LIBRARIES],
533 "mcu": ["LPC1768", "LPC4088", "LPC1549"]
534 },
535 {
536 "id": "MBED_31", "description": "PWM LED test",
537 "source_dir": join(TEST_DIR, "mbed", "pwm_led"),
538 "dependencies": [MBED_LIBRARIES],
539 },
540 {
541 "id": "MBED_32", "description": "Pin toggling",
542 "source_dir": join(TEST_DIR, "mbed", "pin_toggling"),
543 "dependencies": [MBED_LIBRARIES],
544 },
545 {
546 "id": "MBED_33", "description": "C string operations",
547 "source_dir": join(TEST_DIR, "mbed", "cstring"),
548 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
549 "duration": 10,
550 "automated": False,
551 },
552 {
553 "id": "MBED_34", "description": "Ticker Two callbacks",
554 "source_dir": join(TEST_DIR, "mbed", "ticker_3"),
555 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
556 "duration": 15,
557 "automated": True,
558 #"host_test": "wait_us_auto"
559 },
560
561
562 # CMSIS RTOS tests
563 {
564 "id": "CMSIS_RTOS_1", "description": "Basic",
565 "source_dir": join(TEST_DIR, "rtos", "cmsis", "basic"),
566 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
567 },
568 {
569 "id": "CMSIS_RTOS_2", "description": "Mutex",
570 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mutex"),
571 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
572 "duration": 20
573 },
574 {
575 "id": "CMSIS_RTOS_3", "description": "Semaphore",
576 "source_dir": join(TEST_DIR, "rtos", "cmsis", "semaphore"),
577 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
578 "duration": 20
579 },
580 {
581 "id": "CMSIS_RTOS_4", "description": "Signals",
582 "source_dir": join(TEST_DIR, "rtos", "cmsis", "signals"),
583 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
584 },
585 {
586 "id": "CMSIS_RTOS_5", "description": "Queue",
587 "source_dir": join(TEST_DIR, "rtos", "cmsis", "queue"),
588 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
589 "duration": 20
590 },
591 {
592 "id": "CMSIS_RTOS_6", "description": "Mail",
593 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mail"),
594 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
595 "duration": 20
596 },
597 {
598 "id": "CMSIS_RTOS_7", "description": "Timer",
599 "source_dir": join(TEST_DIR, "rtos", "cmsis", "timer"),
600 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
601 },
602 {
603 "id": "CMSIS_RTOS_8", "description": "ISR",
604 "source_dir": join(TEST_DIR, "rtos", "cmsis", "isr"),
605 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
606 },
607
608 # mbed RTOS tests
609 {
610 "id": "RTOS_1", "description": "Basic thread",
611 "source_dir": join(TEST_DIR, "rtos", "mbed", "basic"),
612 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
613 "duration": 15,
614 "automated": True,
615 #"host_test": "wait_us_auto",
616 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
617 "KL25Z", "KL05Z", "K64F", "KL46Z",
618 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
619 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
620 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
621 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
622 },
623 {
624 "id": "RTOS_2", "description": "Mutex resource lock",
625 "source_dir": join(TEST_DIR, "rtos", "mbed", "mutex"),
626 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
627 "duration": 20,
628 "automated": True,
629 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
630 "KL25Z", "KL05Z", "K64F", "KL46Z",
631 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
632 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
633 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
634 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
635 },
636 {
637 "id": "RTOS_3", "description": "Semaphore resource lock",
638 "source_dir": join(TEST_DIR, "rtos", "mbed", "semaphore"),
639 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
640 "duration": 20,
641 "automated": True,
642 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
643 "KL25Z", "KL05Z", "K64F", "KL46Z",
644 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
645 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
646 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
647 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
648 },
649 {
650 "id": "RTOS_4", "description": "Signals messaging",
651 "source_dir": join(TEST_DIR, "rtos", "mbed", "signals"),
652 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
653 "automated": True,
654 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
655 "KL25Z", "KL05Z", "K64F", "KL46Z",
656 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
657 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
658 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
659 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
660 },
661 {
662 "id": "RTOS_5", "description": "Queue messaging",
663 "source_dir": join(TEST_DIR, "rtos", "mbed", "queue"),
664 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
665 "automated": True,
666 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
667 "KL25Z", "KL05Z", "K64F", "KL46Z",
668 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
669 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
670 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
671 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
672 },
673 {
674 "id": "RTOS_6", "description": "Mail messaging",
675 "source_dir": join(TEST_DIR, "rtos", "mbed", "mail"),
676 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
677 "automated": True,
678 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
679 "KL25Z", "KL05Z", "K64F", "KL46Z",
680 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
681 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
682 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
683 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
684 },
685 {
686 "id": "RTOS_7", "description": "Timer",
687 "source_dir": join(TEST_DIR, "rtos", "mbed", "timer"),
688 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
689 "duration": 15,
690 "automated": True,
691 #"host_test": "wait_us_auto",
692 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
693 "KL25Z", "KL05Z", "K64F", "KL46Z",
694 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
695 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
696 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
697 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
698 },
699 {
700 "id": "RTOS_8", "description": "ISR (Queue)",
701 "source_dir": join(TEST_DIR, "rtos", "mbed", "isr"),
702 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
703 "automated": True,
704 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812",
705 "KL25Z", "KL05Z", "K64F", "KL46Z",
706 "RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE",
707 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8",
708 "NUCLEO_L053R8", "DISCO_L053C8", "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC",
709 "DISCO_F401VC", "NUCLEO_F303RE", "MAXWSNENV", "MAX32600MBED"],
710 },
711 {
712 "id": "RTOS_9", "description": "SD File write-read",
713 "source_dir": join(TEST_DIR, "rtos", "mbed", "file"),
714 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
715 "automated": True,
716 "peripherals": ["SD"],
717 "mcu": ["LPC1768", "LPC11U24", "LPC812", "KL25Z",
718 "KL05Z", "K64F", "KL46Z", "RZ_A1H",
719 "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "NUCLEO_F401RE"],
720 },
721
722 # Networking Tests
723 {
724 "id": "NET_1", "description": "TCP client hello world",
725 "source_dir": join(TEST_DIR, "net", "helloworld", "tcpclient"),
726 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
727 "duration": 15,
728 "automated": True,
729 "peripherals": ["ethernet"],
730 },
731 {
732 "id": "NET_2", "description": "NIST Internet Time Service",
733 "source_dir": join(TEST_DIR, "net", "helloworld", "udpclient"),
734 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
735 "duration": 15,
736 "automated": True,
737 "peripherals": ["ethernet"],
738 },
739 {
740 "id": "NET_3", "description": "TCP echo server",
741 "source_dir": join(TEST_DIR, "net", "echo", "tcp_server"),
742 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
743 "automated": True,
744 #"host_test" : "tcpecho_server_auto",
745 "peripherals": ["ethernet"],
746 },
747 {
748 "id": "NET_4", "description": "TCP echo client",
749 "source_dir": join(TEST_DIR, "net", "echo", "tcp_client"),
750 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
751 "automated": True,
752 #"host_test": "tcpecho_client_auto",
753 "peripherals": ["ethernet"]
754 },
755 {
756 "id": "NET_5", "description": "UDP echo server",
757 "source_dir": join(TEST_DIR, "net", "echo", "udp_server"),
758 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
759 "automated": True,
760 #"host_test" : "udpecho_server_auto",
761 "peripherals": ["ethernet"]
762 },
763 {
764 "id": "NET_6", "description": "UDP echo client",
765 "source_dir": join(TEST_DIR, "net", "echo", "udp_client"),
766 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
767 "automated": True,
768 #"host_test" : "udpecho_client_auto",
769 "peripherals": ["ethernet"],
770 },
771 {
772 "id": "NET_7", "description": "HTTP client hello world",
773 "source_dir": join(TEST_DIR, "net", "protocols", "HTTPClient_HelloWorld"),
774 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
775 "automated": True,
776 "duration": 15,
777 "peripherals": ["ethernet"],
778 },
779 {
780 "id": "NET_8", "description": "NTP client",
781 "source_dir": join(TEST_DIR, "net", "protocols", "NTPClient_HelloWorld"),
782 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
783 "automated": True,
784 "peripherals": ["ethernet"],
785 },
786 {
787 "id": "NET_9", "description": "Multicast Send",
788 "source_dir": join(TEST_DIR, "net", "helloworld", "multicast_send"),
789 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY],
790 "peripherals": ["ethernet"],
791 },
792 {
793 "id": "NET_10", "description": "Multicast Receive",
794 "source_dir": join(TEST_DIR, "net", "helloworld", "multicast_receive"),
795 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY],
796 "peripherals": ["ethernet"],
797 },
798 {
799 "id": "NET_11", "description": "Broadcast Send",
800 "source_dir": join(TEST_DIR, "net", "helloworld", "broadcast_send"),
801 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY],
802 "peripherals": ["ethernet"],
803 },
804 {
805 "id": "NET_12", "description": "Broadcast Receive",
806 "source_dir": join(TEST_DIR, "net", "helloworld", "broadcast_receive"),
807 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY],
808 "peripherals": ["ethernet"],
809 },
810 {
811 "id": "NET_13", "description": "TCP client echo loop",
812 "source_dir": join(TEST_DIR, "net", "echo", "tcp_client_loop"),
813 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB],
814 "automated": True,
815 "duration": 15,
816 #"host_test": "tcpecho_client_auto",
817 "peripherals": ["ethernet"],
818 },
819 {
820 "id": "NET_14", "description": "UDP PHY/Data link layer",
821 "source_dir": join(TEST_DIR, "net", "echo", "udp_link_layer"),
822 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY],
823 "automated": False,
824 "duration": 20,
825 "host_test": "udp_link_layer_auto",
826 "peripherals": ["ethernet"],
827 },
828
829 # u-blox tests
830 {
831 "id": "UB_1", "description": "u-blox USB modem: HTTP client",
832 "source_dir": [join(TEST_DIR, "net", "cellular", "http", "ubloxusb"), join(TEST_DIR, "net", "cellular", "http", "common")],
833 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, USB_HOST_LIBRARIES, UBLOX_LIBRARY],
834 "supported": CORTEX_ARM_SUPPORT,
835 },
836 {
837 "id": "UB_2", "description": "u-blox USB modem: SMS test",
838 "source_dir": [join(TEST_DIR, "net", "cellular", "sms", "ubloxusb"), join(TEST_DIR, "net", "cellular", "sms", "common")],
839 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, USB_HOST_LIBRARIES, UBLOX_LIBRARY],
840 "supported": CORTEX_ARM_SUPPORT,
841 },
842
843 # USB Tests
844 {
845 "id": "USB_1", "description": "Mouse",
846 "source_dir": join(TEST_DIR, "usb", "device", "basic"),
847 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
848 },
849 {
850 "id": "USB_2", "description": "Keyboard",
851 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"),
852 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
853 },
854 {
855 "id": "USB_3", "description": "Mouse_Keyboard",
856 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"),
857 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
858 },
859 {
860 "id": "USB_4", "description": "Serial Port",
861 "source_dir": join(TEST_DIR, "usb", "device", "serial"),
862 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
863 "supported": CORTEX_ARM_SUPPORT,
864 },
865 {
866 "id": "USB_5", "description": "Generic HID",
867 "source_dir": join(TEST_DIR, "usb", "device", "raw_hid"),
868 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
869 },
870 {
871 "id": "USB_6", "description": "MIDI",
872 "source_dir": join(TEST_DIR, "usb", "device", "midi"),
873 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
874 },
875 {
876 "id": "USB_7", "description": "AUDIO",
877 "source_dir": join(TEST_DIR, "usb", "device", "audio"),
878 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
879 },
880
881 # CMSIS DSP
882 {
883 "id": "CMSIS_DSP_1", "description": "FIR",
884 "source_dir": join(TEST_DIR, "dsp", "cmsis", "fir_f32"),
885 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES],
886 },
887
888 # mbed DSP
889 {
890 "id": "DSP_1", "description": "FIR",
891 "source_dir": join(TEST_DIR, "dsp", "mbed", "fir_f32"),
892 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES],
893 },
894
895 # KL25Z
896 {
897 "id": "KL25Z_1", "description": "LPTMR",
898 "source_dir": join(TEST_DIR, "KL25Z", "lptmr"),
899 "dependencies": [MBED_LIBRARIES],
900 "supported": CORTEX_ARM_SUPPORT,
901 "mcu": ["KL25Z"],
902 },
903 {
904 "id": "KL25Z_2", "description": "PIT",
905 "source_dir": join(TEST_DIR, "KL25Z", "pit"),
906 "dependencies": [MBED_LIBRARIES],
907 "supported": CORTEX_ARM_SUPPORT,
908 "mcu": ["KL25Z"],
909 },
910 {
911 "id": "KL25Z_3", "description": "TSI Touch Sensor",
912 "source_dir": join(TEST_DIR, "mbed", "tsi"),
913 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'TSI')],
914 "mcu": ["KL25Z"],
915 },
916 {
917 "id": "KL25Z_4", "description": "RTC",
918 "source_dir": join(TEST_DIR, "KL25Z", "rtc"),
919 "dependencies": [MBED_LIBRARIES],
920 "mcu": ["KL25Z"],
921 },
922 {
923 "id": "KL25Z_5", "description": "MMA8451Q accelerometer",
924 "source_dir": join(TEST_DIR, "mbed", "i2c_MMA8451Q"),
925 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'MMA8451Q')],
926 "mcu": ["KL25Z", "KL05Z", "KL46Z", "K20D50M"],
927 "automated": True,
928 "duration": 15,
929 },
930
931 # Examples
932 {
933 "id": "EXAMPLE_1", "description": "/dev/null",
934 "source_dir": join(TEST_DIR, "mbed", "dev_null"),
935 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
936 "automated": True,
937 #"host_test" : "dev_null_auto",
938 },
939 {
940 "id": "EXAMPLE_2", "description": "FS + RTOS",
941 "source_dir": join(TEST_DIR, "mbed", "fs"),
942 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY],
943 },
944
945 # CPPUTEST Library provides Unit testing Framework
946 #
947 # To write TESTs and TEST_GROUPs please add CPPUTEST_LIBRARY to 'dependencies'
948 #
949 # This will also include:
950 # 1. test runner - main function with call to CommandLineTestRunner::RunAllTests(ac, av)
951 # 2. Serial console object to print test result on serial port console
952 #
953
954 # Unit testing with cpputest library
955 {
956 "id": "UT_1", "description": "Basic",
957 "source_dir": join(TEST_DIR, "utest", "basic"),
958 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
959 "automated": False,
960 },
961 {
962 "id": "UT_2", "description": "Semihost file system",
963 "source_dir": join(TEST_DIR, "utest", "semihost_fs"),
964 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
965 "automated": False,
966 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
967 },
968 {
969 "id": "UT_3", "description": "General tests",
970 "source_dir": join(TEST_DIR, "utest", "general"),
971 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
972 "automated": False,
973 },
974 {
975 "id": "UT_BUSIO", "description": "BusIn BusOut",
976 "source_dir": join(TEST_DIR, "utest", "bus"),
977 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
978 "automated": False,
979 },
980
981 # Tests used for target information purposes
982 {
983 "id": "DTCT_1", "description": "Simple detect test",
984 "source_dir": join(TEST_DIR, "mbed", "detect"),
985 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
986 "automated": True,
987 #"host_test" : "detect_auto",
988 },
989 ]
990
991 # Group tests with the same goals into categories
992 GROUPS = {
993 "core": ["MBED_A1", "MBED_A2", "MBED_A3", "MBED_A18"],
994 "digital_io": ["MBED_A5", "MBED_A6", "MBED_A7", "MBED_A10", "MBED_A11"],
995 "analog_io": ["MBED_A8"],
996 "i2c": ["MBED_A19", "MBED_A20"],
997 "spi": ["MBED_A12"],
998 }
999 GROUPS["rtos"] = [test["id"] for test in TESTS if test["id"].startswith("RTOS_")]
1000 GROUPS["net"] = [test["id"] for test in TESTS if test["id"].startswith("NET_")]
1001 GROUPS["automated"] = [test["id"] for test in TESTS if test.get("automated", False)]
1002 # Look for 'TEST_GROUPS' in private_settings.py and update the GROUPS dictionary
1003 # with the information in test_groups if found
1004 try:
1005 from workspace_tools.private_settings import TEST_GROUPS
1006 except:
1007 TEST_GROUPS = {}
1008 GROUPS.update(TEST_GROUPS)
1009
1010 class Test:
1011 DEFAULTS = {
1012 #'mcu': None,
1013 'description': None,
1014 'dependencies': None,
1015 'duration': 10,
1016 'host_test': 'host_test',
1017 'automated': False,
1018 'peripherals': None,
1019 #'supported': None,
1020 'source_dir': None,
1021 'extra_files': None
1022 }
1023 def __init__(self, n):
1024 self.n = n
1025 self.__dict__.update(Test.DEFAULTS)
1026 self.__dict__.update(TESTS[n])
1027
1028 def is_supported(self, target, toolchain):
1029 if hasattr(self, 'mcu') and not target in self.mcu:
1030 return False
1031 if not hasattr(self, 'supported'):
1032 return True
1033 return (target in self.supported) and (toolchain in self.supported[target])
1034
1035 def get_description(self):
1036 if self.description:
1037 return self.description
1038 else:
1039 return self.id
1040
1041 def __cmp__(self, other):
1042 return cmp(self.n, other.n)
1043
1044 def __str__(self):
1045 return "[%3d] %s: %s" % (self.n, self.id, self.get_description())
1046
1047 def __getitem__(self, key):
1048 if key == "id": return self.id
1049 elif key == "mcu": return self.mcu
1050 elif key == "dependencies": return self.dependencies
1051 elif key == "description": return self.description
1052 elif key == "duration": return self.duration
1053 elif key == "host_test": return self.host_test
1054 elif key == "automated": return self.automated
1055 elif key == "peripherals": return self.peripherals
1056 elif key == "supported": return self.supported
1057 elif key == "source_dir": return self.source_dir
1058 elif key == "extra_files": return self.extra_files
1059 else:
1060 return None
1061
1062 TEST_MAP = dict([(test['id'], Test(i)) for i, test in enumerate(TESTS)])
Imprint / Impressum