3 Copyright (c) 2011-2013 ARM Limited
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
9 http://www.apache.org/licenses/LICENSE-2.0
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.
17 from workspace_tools.paths import *
18 from workspace_tools.data.support import *
20 TEST_CMSIS_LIB = join(TEST_DIR, "cmsis", "lib")
21 TEST_MBED_LIB = join(TEST_DIR, "mbed", "env")
23 PERIPHERALS = join(TEST_DIR, "peripherals")
24 BENCHMARKS_DIR = join(TEST_DIR, "benchmarks")
26 SD = join(TEST_DIR, "sd")
27 TMP102 = join(PERIPHERALS, 'TMP102')
40 * LPC1*: (SDA=p28 , SCL=p27)
41 * KL25Z: (SDA=PTC9, SCL=PTC8)
42 * MAXWSNENV: (SDA=TP6, SCL=TP5)
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)
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)
61 * analog_loop (AnalogIn, AnalogOut):
62 * Arduino headers: (A0 <-> A5)
63 * LPC1549: (A0 <-> D12)
64 * LPC1*: (p17 <-> p18 )
65 * KL25Z: (PTE30 <-> PTC2)
67 * analog_pot (AnalogIn):
68 * Arduino headers: (A0, A1)
71 * LPC1*: (mosi=p11 , miso=p12 , sclk=p13 , cs=p14 )
72 * KL25Z: (mosi=PTD2, miso=PTD3, sclk=PTD1, cs=PTD0)
75 * LPC1*: (SDA=p28 , SCL=p27)
78 * LPC1768: (p28 <-> p9), (p27 <-> p10)
81 * LPC1*: (SDA=p28 , SCL=p27)
82 * KL25Z: (SDA=PTE0, SCL=PTE1)
86 # Automated MBED tests
88 "id": "MBED_A1", "description": "Basic",
89 "source_dir": join(TEST_DIR, "mbed", "basic"),
90 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
94 "id": "MBED_A2", "description": "Semihost file system",
95 "source_dir": join(TEST_DIR, "mbed", "file"),
96 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
98 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
101 "id": "MBED_A3", "description": "C++ STL",
102 "source_dir": join(TEST_DIR, "mbed", "stl"),
103 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
107 "id": "MBED_A4", "description": "I2C TMP102",
108 "source_dir": join(TEST_DIR, "mbed", "i2c_TMP102"),
109 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, TMP102],
111 "peripherals": ["TMP102"]
114 "id": "MBED_A5", "description": "DigitalIn DigitalOut",
115 "source_dir": join(TEST_DIR, "mbed", "digitalin_digitalout"),
116 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
118 "peripherals": ["digital_loop"]
121 "id": "MBED_A6", "description": "DigitalInOut",
122 "source_dir": join(TEST_DIR, "mbed", "digitalinout"),
123 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
125 "peripherals": ["digital_loop"]
128 "id": "MBED_A7", "description": "InterruptIn",
129 "source_dir": join(TEST_DIR, "mbed", "interruptin"),
130 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
133 "peripherals": ["digital_loop"]
136 "id": "MBED_A8", "description": "Analog",
137 "source_dir": join(TEST_DIR, "mbed", "analog"),
138 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
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"]
147 "id": "MBED_A9", "description": "Serial Echo at 115200",
148 "source_dir": join(TEST_DIR, "mbed", "echo"),
149 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
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,
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,
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],
175 "peripherals": ["SD"]
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')],
182 "peripherals": ["MMA7660"]
185 "id": "MBED_A14", "description": "I2C Master",
186 "source_dir": join(TEST_DIR, "mbed", "i2c_master"),
187 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
190 "id": "MBED_A15", "description": "I2C Slave",
191 "source_dir": join(TEST_DIR, "mbed", "i2c_slave"),
192 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
195 "id": "MBED_A16", "description": "SPI Master",
196 "source_dir": join(TEST_DIR, "mbed", "spi_master"),
197 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
200 "id": "MBED_A17", "description": "SPI Slave",
201 "source_dir": join(TEST_DIR, "mbed", "spi_slave"),
202 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
205 "id": "MBED_A18", "description": "Interrupt vector relocation",
206 "source_dir": join(TEST_DIR, "mbed", "vtor_reloc"),
207 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,],
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"],
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"]
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],
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],
238 "mcu": ["LPC4088","LPC4088_DM"]
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],
246 "mcu": ["LPC4088","LPC4088_DM"]
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],
253 "host_test": "echo_flow_control",
255 "peripherals": ["extra_serial"]
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"],
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"],
274 "id": "MBED_BLINKY", "description": "Blinky",
275 "source_dir": join(TEST_DIR, "mbed", "blinky"),
276 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
280 "id": "MBED_BUS", "description": "Blinky BUS",
281 "source_dir": join(TEST_DIR, "mbed", "bus"),
282 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
288 "id": "MBED_BUSOUT", "description": "BusOut",
289 "source_dir": join(TEST_DIR, "mbed", "bus_out"),
290 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
297 "id": "BENCHMARK_1", "description": "Size (c environment)",
298 "source_dir": join(BENCHMARKS_DIR, "cenv"),
299 "dependencies": [MBED_LIBRARIES]
302 "id": "BENCHMARK_2", "description": "Size (float math)",
303 "source_dir": join(BENCHMARKS_DIR, "float_math"),
304 "dependencies": [MBED_LIBRARIES]
307 "id": "BENCHMARK_3", "description": "Size (printf)",
308 "source_dir": join(BENCHMARKS_DIR, "printf"),
309 "dependencies": [MBED_LIBRARIES]
312 "id": "BENCHMARK_4", "description": "Size (mbed libs)",
313 "source_dir": join(BENCHMARKS_DIR, "mbed"),
314 "dependencies": [MBED_LIBRARIES]
317 "id": "BENCHMARK_5", "description": "Size (all)",
318 "source_dir": join(BENCHMARKS_DIR, "all"),
319 "dependencies": [MBED_LIBRARIES]
322 # performance related tests
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],
329 "peripherals": ["SD"]
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],
337 "peripherals": ["SD"]
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],
345 "peripherals": ["SD"]
349 # Not automated MBED tests
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"]
357 "id": "MBED_2", "description": "stdio",
358 "source_dir": join(TEST_DIR, "mbed", "stdio"),
359 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
362 #"host_test": "stdio_auto"
365 "id": "MBED_3", "description": "PortOut",
366 "source_dir": join(TEST_DIR, "mbed", "portout"),
367 "dependencies": [MBED_LIBRARIES],
370 "id": "MBED_4", "description": "Sleep",
371 "source_dir": join(TEST_DIR, "mbed", "sleep"),
372 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
374 "mcu": ["LPC1768", "LPC11U24", "LPC4088","LPC4088_DM","NRF51822", "LPC11U68"]
377 "id": "MBED_5", "description": "PWM",
378 "source_dir": join(TEST_DIR, "mbed", "pwm"),
379 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
382 "id": "MBED_6", "description": "SW Reset",
383 "source_dir": join(TEST_DIR, "mbed", "reset"),
384 "dependencies": [MBED_LIBRARIES],
388 "id": "MBED_7", "description": "stdio benchmark",
389 "source_dir": join(TEST_DIR, "mbed", "stdio_benchmark"),
390 "dependencies": [MBED_LIBRARIES],
394 "id": "MBED_8", "description": "SPI",
395 "source_dir": join(TEST_DIR, "mbed", "spi"),
396 "dependencies": [MBED_LIBRARIES],
399 "id": "MBED_9", "description": "Sleep Timeout",
400 "source_dir": join(TEST_DIR, "mbed", "sleep_timeout"),
401 "dependencies": [MBED_LIBRARIES],
404 "id": "MBED_10", "description": "Hello World",
405 "source_dir": join(TEST_DIR, "mbed", "hello"),
406 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
408 #"host_test": "hello_auto",
411 "id": "MBED_11", "description": "Ticker Int",
412 "source_dir": join(TEST_DIR, "mbed", "ticker"),
413 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
415 #"host_test": "wait_us_auto",
419 "id": "MBED_12", "description": "C++",
420 "source_dir": join(TEST_DIR, "mbed", "cpp"),
421 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
425 "id": "MBED_13", "description": "Heap & Stack",
426 "source_dir": join(TEST_DIR, "mbed", "heap_and_stack"),
427 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
430 "id": "MBED_14", "description": "Serial Interrupt",
431 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt"),
432 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
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],
442 "id": "MBED_16", "description": "RTC",
443 "source_dir": join(TEST_DIR, "mbed", "rtc"),
444 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
446 #"host_test": "rtc_auto",
450 "id": "MBED_17", "description": "Serial Interrupt 2",
451 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt_2"),
452 "dependencies": [MBED_LIBRARIES],
455 "id": "MBED_18", "description": "Local FS Directory",
456 "source_dir": join(TEST_DIR, "mbed", "dir"),
457 "dependencies": [MBED_LIBRARIES],
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"]
466 "id": "MBED_20", "description": "InterruptIn 2",
467 "source_dir": join(TEST_DIR, "mbed", "interruptin_2"),
468 "dependencies": [MBED_LIBRARIES],
471 "id": "MBED_21", "description": "freopen Stream",
472 "source_dir": join(TEST_DIR, "mbed", "freopen"),
473 "dependencies": [MBED_LIBRARIES],
476 "id": "MBED_22", "description": "Semihost",
477 "source_dir": join(TEST_DIR, "mbed", "semihost"),
478 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
480 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
483 "id": "MBED_23", "description": "Ticker Int us",
484 "source_dir": join(TEST_DIR, "mbed", "ticker_2"),
485 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
488 #"host_test": "wait_us_auto"
491 "id": "MBED_24", "description": "Timeout Int us",
492 "source_dir": join(TEST_DIR, "mbed", "timeout"),
493 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
496 #"host_test": "wait_us_auto"
499 "id": "MBED_25", "description": "Time us",
500 "source_dir": join(TEST_DIR, "mbed", "time_us"),
501 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
504 #"host_test": "wait_us_auto"
507 "id": "MBED_26", "description": "Integer constant division",
508 "source_dir": join(TEST_DIR, "mbed", "div"),
509 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
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"]
519 "id": "MBED_28", "description": "Interrupt chaining (InterruptManager)",
520 "source_dir": join(TEST_DIR, "mbed", "interrupt_chaining"),
521 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
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"]
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"]
536 "id": "MBED_31", "description": "PWM LED test",
537 "source_dir": join(TEST_DIR, "mbed", "pwm_led"),
538 "dependencies": [MBED_LIBRARIES],
541 "id": "MBED_32", "description": "Pin toggling",
542 "source_dir": join(TEST_DIR, "mbed", "pin_toggling"),
543 "dependencies": [MBED_LIBRARIES],
546 "id": "MBED_33", "description": "C string operations",
547 "source_dir": join(TEST_DIR, "mbed", "cstring"),
548 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
553 "id": "MBED_34", "description": "Ticker Two callbacks",
554 "source_dir": join(TEST_DIR, "mbed", "ticker_3"),
555 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
558 #"host_test": "wait_us_auto"
564 "id": "CMSIS_RTOS_1", "description": "Basic",
565 "source_dir": join(TEST_DIR, "rtos", "cmsis", "basic"),
566 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
569 "id": "CMSIS_RTOS_2", "description": "Mutex",
570 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mutex"),
571 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
575 "id": "CMSIS_RTOS_3", "description": "Semaphore",
576 "source_dir": join(TEST_DIR, "rtos", "cmsis", "semaphore"),
577 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
581 "id": "CMSIS_RTOS_4", "description": "Signals",
582 "source_dir": join(TEST_DIR, "rtos", "cmsis", "signals"),
583 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
586 "id": "CMSIS_RTOS_5", "description": "Queue",
587 "source_dir": join(TEST_DIR, "rtos", "cmsis", "queue"),
588 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
592 "id": "CMSIS_RTOS_6", "description": "Mail",
593 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mail"),
594 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
598 "id": "CMSIS_RTOS_7", "description": "Timer",
599 "source_dir": join(TEST_DIR, "rtos", "cmsis", "timer"),
600 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
603 "id": "CMSIS_RTOS_8", "description": "ISR",
604 "source_dir": join(TEST_DIR, "rtos", "cmsis", "isr"),
605 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES],
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],
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"],
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],
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"],
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],
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"],
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],
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"],
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],
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"],
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],
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"],
686 "id": "RTOS_7", "description": "Timer",
687 "source_dir": join(TEST_DIR, "rtos", "mbed", "timer"),
688 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB],
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"],
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],
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"],
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],
716 "peripherals": ["SD"],
717 "mcu": ["LPC1768", "LPC11U24", "LPC812", "KL25Z",
718 "KL05Z", "K64F", "KL46Z", "RZ_A1H",
719 "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "NUCLEO_F401RE"],
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],
729 "peripherals": ["ethernet"],
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],
737 "peripherals": ["ethernet"],
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],
744 #"host_test" : "tcpecho_server_auto",
745 "peripherals": ["ethernet"],
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],
752 #"host_test": "tcpecho_client_auto",
753 "peripherals": ["ethernet"]
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],
760 #"host_test" : "udpecho_server_auto",
761 "peripherals": ["ethernet"]
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],
768 #"host_test" : "udpecho_client_auto",
769 "peripherals": ["ethernet"],
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],
777 "peripherals": ["ethernet"],
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],
784 "peripherals": ["ethernet"],
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"],
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"],
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"],
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"],
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],
816 #"host_test": "tcpecho_client_auto",
817 "peripherals": ["ethernet"],
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],
825 "host_test": "udp_link_layer_auto",
826 "peripherals": ["ethernet"],
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,
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,
845 "id": "USB_1", "description": "Mouse",
846 "source_dir": join(TEST_DIR, "usb", "device", "basic"),
847 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
850 "id": "USB_2", "description": "Keyboard",
851 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"),
852 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
855 "id": "USB_3", "description": "Mouse_Keyboard",
856 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"),
857 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
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,
866 "id": "USB_5", "description": "Generic HID",
867 "source_dir": join(TEST_DIR, "usb", "device", "raw_hid"),
868 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
871 "id": "USB_6", "description": "MIDI",
872 "source_dir": join(TEST_DIR, "usb", "device", "midi"),
873 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
876 "id": "USB_7", "description": "AUDIO",
877 "source_dir": join(TEST_DIR, "usb", "device", "audio"),
878 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES],
883 "id": "CMSIS_DSP_1", "description": "FIR",
884 "source_dir": join(TEST_DIR, "dsp", "cmsis", "fir_f32"),
885 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES],
890 "id": "DSP_1", "description": "FIR",
891 "source_dir": join(TEST_DIR, "dsp", "mbed", "fir_f32"),
892 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES],
897 "id": "KL25Z_1", "description": "LPTMR",
898 "source_dir": join(TEST_DIR, "KL25Z", "lptmr"),
899 "dependencies": [MBED_LIBRARIES],
900 "supported": CORTEX_ARM_SUPPORT,
904 "id": "KL25Z_2", "description": "PIT",
905 "source_dir": join(TEST_DIR, "KL25Z", "pit"),
906 "dependencies": [MBED_LIBRARIES],
907 "supported": CORTEX_ARM_SUPPORT,
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')],
917 "id": "KL25Z_4", "description": "RTC",
918 "source_dir": join(TEST_DIR, "KL25Z", "rtc"),
919 "dependencies": [MBED_LIBRARIES],
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"],
933 "id": "EXAMPLE_1", "description": "/dev/null",
934 "source_dir": join(TEST_DIR, "mbed", "dev_null"),
935 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
937 #"host_test" : "dev_null_auto",
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],
945 # CPPUTEST Library provides Unit testing Framework
947 # To write TESTs and TEST_GROUPs please add CPPUTEST_LIBRARY to 'dependencies'
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
954 # Unit testing with cpputest library
956 "id": "UT_1", "description": "Basic",
957 "source_dir": join(TEST_DIR, "utest", "basic"),
958 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
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],
966 "mcu": ["LPC1768", "LPC2368", "LPC11U24"]
969 "id": "UT_3", "description": "General tests",
970 "source_dir": join(TEST_DIR, "utest", "general"),
971 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
975 "id": "UT_BUSIO", "description": "BusIn BusOut",
976 "source_dir": join(TEST_DIR, "utest", "bus"),
977 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY],
981 # Tests used for target information purposes
983 "id": "DTCT_1", "description": "Simple detect test",
984 "source_dir": join(TEST_DIR, "mbed", "detect"),
985 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
987 #"host_test" : "detect_auto",
991 # Group tests with the same goals into categories
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"],
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
1005 from workspace_tools.private_settings import TEST_GROUPS
1008 GROUPS.update(TEST_GROUPS)
1013 'description': None,
1014 'dependencies': None,
1016 'host_test': 'host_test',
1018 'peripherals': None,
1023 def __init__(self, n):
1025 self.__dict__.update(Test.DEFAULTS)
1026 self.__dict__.update(TESTS[n])
1028 def is_supported(self, target, toolchain):
1029 if hasattr(self, 'mcu') and not target in self.mcu:
1031 if not hasattr(self, 'supported'):
1033 return (target in self.supported) and (toolchain in self.supported[target])
1035 def get_description(self):
1036 if self.description:
1037 return self.description
1041 def __cmp__(self, other):
1042 return cmp(self.n, other.n)
1045 return "[%3d] %s: %s" % (self.n, self.id, self.get_description())
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
1062 TEST_MAP = dict([(test['id'], Test(i)) for i, test in enumerate(TESTS)])