Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: blinky_max32630fthr
tests.py
00001 """ 00002 mbed SDK 00003 Copyright (c) 2011-2013 ARM Limited 00004 00005 Licensed under the Apache License, Version 2.0 (the "License"); 00006 you may not use this file except in compliance with the License. 00007 You may obtain a copy of the License at 00008 00009 http://www.apache.org/licenses/LICENSE-2.0 00010 00011 Unless required by applicable law or agreed to in writing, software 00012 distributed under the License is distributed on an "AS IS" BASIS, 00013 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 See the License for the specific language governing permissions and 00015 limitations under the License. 00016 """ 00017 from tools.paths import * 00018 from tools.data.support import * 00019 from argparse import ArgumentTypeError 00020 from utils import columnate 00021 00022 try: 00023 import tools.private_settings as ps 00024 except: 00025 ps = object() 00026 00027 TEST_CMSIS_LIB = join(TEST_DIR, "cmsis", "lib") 00028 TEST_MBED_LIB = join(TEST_DIR, "mbed", "env") 00029 00030 PERIPHERALS = join(TEST_DIR, "peripherals") 00031 BENCHMARKS_DIR = join(TEST_DIR, "benchmarks") 00032 00033 SD = join(TEST_DIR, "sd") 00034 TMP102 = join(PERIPHERALS, 'TMP102') 00035 AT30TSE75X = join(PERIPHERALS, 'AT30TSE75X') 00036 00037 """ 00038 Wiring: 00039 * Ground: 00040 * LPC1*: p1 00041 * KL25Z: GND 00042 00043 * Vout 00044 * LPC1*: p40 00045 * KL25Z: P3V3 00046 00047 * TMP102 (I2C): 00048 * LPC1*: (SDA=p28 , SCL=p27) 00049 * KL25Z: (SDA=PTC9, SCL=PTC8) 00050 * MAXWSNENV: (SDA=TP6, SCL=TP5) 00051 00052 * digital_loop (Digital(In|Out|InOut), InterruptIn): 00053 * Arduino headers: (D0 <-> D7) 00054 * NUCLEO_*: (D2 <-> D9) 00055 * LPC1549: (D2 <-> D7) 00056 * LPC1*: (p5 <-> p25 ) 00057 * KL25Z: (PTA5<-> PTC6) 00058 * MAXWSNENV: (TP3 <-> TP4) 00059 * MAX32600MBED: (P1_0 <-> P4_7) 00060 * VK_RZ_A1H: (P3_2 <-> P5_6) 00061 00062 * port_loop (Port(In|Out|InOut)): 00063 * Arduino headers: (D0 <-> D7), (D1 <-> D6) 00064 * LPC1*: (p5 <-> p25), (p6 <-> p26) 00065 * KL25Z: (PTA5 <-> PTC6), (PTA4 <-> PTC5) 00066 * NUCLEO_F103RB: (PC_6 <-> PB_8), (PC_5 <-> PB_9) 00067 * MAXWSNENV: (TP1 <-> TP3), (TP2 <-> TP4) 00068 * MAX32600MBED: (P1_0 <-> P4_7), (P1_1 <-> P4_6) 00069 * VK_RZ_A1H: (P3_2 <-> P5_6), (P3_7 <-> P5_1) 00070 00071 * analog_loop (AnalogIn, AnalogOut): 00072 * Arduino headers: (A0 <-> A5) 00073 * NUCLEO64: (A0 <-> A2) 00074 * NUCLEO144: (A0 <-> D13) 00075 * LPC1549: (A0 <-> D12) 00076 * LPC1*: (p17 <-> p18 ) 00077 * KL25Z: (PTE30 <-> PTC2) 00078 00079 * analog_pot (AnalogIn): 00080 * Arduino headers: (A0, A1) 00081 * VK_RZ_A1H: (AN0, AN1) 00082 00083 * SD (SPI): 00084 * LPC1*: (mosi=p11 , miso=p12 , sclk=p13 , cs=p14 ) 00085 * KL25Z: (mosi=PTD2, miso=PTD3, sclk=PTD1, cs=PTD0) 00086 00087 * MMA7660 (I2C): 00088 * LPC1*: (SDA=p28 , SCL=p27) 00089 00090 * i2c_loop: 00091 * LPC1768: (p28 <-> p9), (p27 <-> p10) 00092 * NUCLEO64: (D14 <-> D3), (D15 <-> D6) 00093 * NUCLEO144: (D14 <-> PB_11), (D15 <-> PB_10) 00094 00095 * i2c_eeprom: 00096 * LPC1*: (SDA=p28 , SCL=p27) 00097 * KL25Z: (SDA=PTE0, SCL=PTE1) 00098 * VK_RZ_A1H:(SDA=P1_1, SCL=P1_0) 00099 00100 * can_transceiver: 00101 * LPC1768: (RX=p9, TX=p10) 00102 * LPC1549: (RX=D9, TX=D8) 00103 * LPC4088: (RX=p9, TX=p10) 00104 * VK_RZ_A1H:(RX=P5_9, TX=P5_10) 00105 * NUCLEO_F091RC: (RX=PA_11, TX=PA_12) 00106 * NUCLEO_F072RB: (RX=PA_11, TX=PA_12) 00107 * NUCLEO_F042K6: (RX=PA_11, TX=PA_12) 00108 * NUCLEO_F334R8: (RX=PA_11, TX=PA_12) 00109 * NUCLEO_F303RE: (RX=PA_11, TX=PA_12) 00110 * NUCLEO_F303K8: (RX=PA_11, TX=PA_12) 00111 * NUCLEO_F302R8: (RX=PA_11, TX=PA_12) 00112 * NUCLEO_F446RE: (RX=PA_11, TX=PA_12) 00113 * NUCLEO_F446ZE: (RX=PA_11, TX=PA_12) 00114 * DISCO_F469NI: (RX=PB_8, TX=PB_9) 00115 * DISCO_F4269ZI: (RX=PA_11, TX=PA_12) 00116 * NUCLEO_F103RB: (RX=PA_11, TX=PA_12) 00117 * NUCLEO_F746ZG: (RX=PA_11, TX=PA_12) 00118 * DISCO_F746NG: (RX=PB_8, TX=PB_9) 00119 * DISCO_L476VG: (RX=PA_11, TX=PA_12) 00120 * NUCLEO_L476RG: (RX=PA_11, TX=PA_12) 00121 * NUCLEO_L432KC: (RX=PA_11, TX=PA_12) 00122 00123 """ 00124 TESTS = [ 00125 # Automated MBED tests 00126 { 00127 "id": "MBED_A1", "description": "Basic", 00128 "source_dir": join(TEST_DIR, "mbed", "basic"), 00129 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00130 "automated": True, 00131 }, 00132 { 00133 "id": "MBED_A2", "description": "Semihost file system", 00134 "source_dir": join(TEST_DIR, "mbed", "file"), 00135 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00136 "automated": True, 00137 "mcu": ["LPC1768", "LPC2368", "LPC11U24"] 00138 }, 00139 { 00140 "id": "MBED_A3", "description": "C++ STL", 00141 "source_dir": join(TEST_DIR, "mbed", "stl"), 00142 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00143 "automated": False, 00144 }, 00145 { 00146 "id": "MBED_A4", "description": "I2C TMP102", 00147 "source_dir": join(TEST_DIR, "mbed", "i2c_TMP102"), 00148 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, TMP102], 00149 "automated": True, 00150 "peripherals": ["TMP102"] 00151 }, 00152 { 00153 "id": "MBED_AT30TSE75X", "description": "I2C Temperature Sensor / EEPROM", 00154 "source_dir": join(TEST_DIR, "mbed", "i2c_at30tse75x"), 00155 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, AT30TSE75X], 00156 "automated": False, 00157 "peripherals": ["AT30TSE75X"] 00158 }, 00159 { 00160 "id": "MBED_A5", "description": "DigitalIn DigitalOut", 00161 "source_dir": join(TEST_DIR, "mbed", "digitalin_digitalout"), 00162 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00163 "automated": True, 00164 "peripherals": ["digital_loop"] 00165 }, 00166 { 00167 "id": "MBED_A6", "description": "DigitalInOut", 00168 "source_dir": join(TEST_DIR, "mbed", "digitalinout"), 00169 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00170 "automated": True, 00171 "peripherals": ["digital_loop"] 00172 }, 00173 { 00174 "id": "MBED_A7", "description": "InterruptIn", 00175 "source_dir": join(TEST_DIR, "mbed", "interruptin"), 00176 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00177 "automated": True, 00178 "peripherals": ["digital_loop"] 00179 }, 00180 { 00181 "id": "MBED_A8", "description": "Analog", 00182 "source_dir": join(TEST_DIR, "mbed", "analog"), 00183 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00184 "automated": True, 00185 "peripherals": ["analog_loop"], 00186 "mcu": ["LPC1768", "LPC2368", "LPC2460", "KL25Z", "K64F", "K66F", "K22F", "LPC4088", "LPC1549", 00187 "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_F302R8", "NUCLEO_F303K8", "NUCLEO_F303RE", "NUCLEO_F207ZG", 00188 "NUCLEO_F334R8", "NUCLEO_F303ZE", "NUCLEO_L053R8", "NUCLEO_L073RZ", "NUCLEO_L152RE", 00189 "NUCLEO_F410RB", "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F429ZI", 00190 "DISCO_F407VG", "NUCLEO_F746ZG", "NUCLEO_L476RG", 00191 "DISCO_L053C8", "DISCO_F334C8", "DISCO_L476VG", "DISCO_F469NI", "DISCO_F429ZI", 00192 "ARCH_MAX", "MAX32600MBED", "MOTE_L152RC", "B96B_F446VE"] 00193 }, 00194 { 00195 "id": "MBED_A9", "description": "Serial Echo at 115200", 00196 "source_dir": join(TEST_DIR, "mbed", "echo"), 00197 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00198 "automated": True, 00199 #"host_test": "echo" 00200 }, 00201 { 00202 "id": "MBED_A10", "description": "PortOut PortIn", 00203 "source_dir": join(TEST_DIR, "mbed", "portout_portin"), 00204 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00205 "peripherals": ["port_loop"], 00206 "supported": DEFAULT_SUPPORT, 00207 "automated": True, 00208 }, 00209 { 00210 "id": "MBED_A11", "description": "PortInOut", 00211 "source_dir": join(TEST_DIR, "mbed", "portinout"), 00212 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00213 "peripherals": ["port_loop"], 00214 "supported": DEFAULT_SUPPORT, 00215 "automated": True, 00216 }, 00217 { 00218 "id": "MBED_A12", "description": "SD File System", 00219 "source_dir": join(TEST_DIR, "mbed", "sd"), 00220 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 00221 "automated": True, 00222 "peripherals": ["SD"] 00223 }, 00224 { 00225 "id": "MBED_A13", "description": "I2C MMA7660 accelerometer", 00226 "source_dir": join(TEST_DIR, "mbed", "i2c_MMA7660"), 00227 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'MMA7660')], 00228 "automated": True, 00229 "peripherals": ["MMA7660"] 00230 }, 00231 { 00232 "id": "MBED_A14", "description": "I2C Master", 00233 "source_dir": join(TEST_DIR, "mbed", "i2c_master"), 00234 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00235 }, 00236 { 00237 "id": "MBED_A15", "description": "I2C Slave", 00238 "source_dir": join(TEST_DIR, "mbed", "i2c_slave"), 00239 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00240 }, 00241 { 00242 "id": "MBED_A16", "description": "SPI Master", 00243 "source_dir": join(TEST_DIR, "mbed", "spi_master"), 00244 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00245 }, 00246 { 00247 "id": "MBED_A17", "description": "SPI Slave", 00248 "source_dir": join(TEST_DIR, "mbed", "spi_slave"), 00249 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00250 }, 00251 { 00252 "id": "MBED_A18", "description": "Interrupt vector relocation", 00253 "source_dir": join(TEST_DIR, "mbed", "vtor_reloc"), 00254 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00255 "mcu": ["LPC1768"], 00256 "automated": True, 00257 }, 00258 { 00259 "id": "MBED_A19", "description": "I2C EEPROM read/write test", 00260 "source_dir": join(TEST_DIR, "mbed", "i2c_eeprom"), 00261 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00262 "peripherals": ["24LC256"], 00263 "automated": True, 00264 }, 00265 { 00266 "id": "MBED_A20", "description": "I2C master/slave test", 00267 "source_dir": join(TEST_DIR, "mbed", "i2c_master_slave"), 00268 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB,], 00269 "automated": True, 00270 "peripherals": ["i2c_loop"] 00271 }, 00272 { 00273 "id": "MBED_A21", "description": "Call function before main (mbed_main)", 00274 "source_dir": join(TEST_DIR, "mbed", "call_before_main"), 00275 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00276 "automated": True, 00277 }, 00278 { 00279 "id": "MBED_A22", "description": "SPIFI for LPC4088 (test 1)", 00280 "source_dir": join(TEST_DIR, "mbed", "spifi1"), 00281 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00282 "automated": True, 00283 "mcu": ["LPC4088","LPC4088_DM"] 00284 }, 00285 { 00286 "id": "MBED_A23", "description": "SPIFI for LPC4088 (test 2)", 00287 "source_dir": join(TEST_DIR, "mbed", "spifi2"), 00288 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00289 "automated": True, 00290 "mcu": ["LPC4088","LPC4088_DM"] 00291 }, 00292 { 00293 "id": "MBED_A24", "description": "Serial echo with RTS/CTS flow control", 00294 "source_dir": join(TEST_DIR, "mbed", "echo_flow_control"), 00295 "dependencies": [MBED_LIBRARIES], 00296 "automated": "True", 00297 "host_test": "echo_flow_control", 00298 "mcu": ["LPC1768"], 00299 "peripherals": ["extra_serial"] 00300 }, 00301 { 00302 "id": "MBED_A25", "description": "I2C EEPROM line read/write test", 00303 "source_dir": join(TEST_DIR, "mbed", "i2c_eeprom_line"), 00304 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00305 "peripherals": ["24LC256"], 00306 "automated": True, 00307 }, 00308 { 00309 "id": "MBED_A26", "description": "AnalogIn potentiometer test", 00310 "source_dir": join(TEST_DIR, "mbed", "analog_pot"), 00311 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00312 "peripherals": ["analog_pot"], 00313 "automated": True, 00314 }, 00315 { 00316 "id": "MBED_A27", "description": "CAN loopback test", 00317 "source_dir": join(TEST_DIR, "mbed", "can_loopback"), 00318 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00319 "automated": True, 00320 "peripherals": ["can_transceiver"], 00321 "mcu": ["LPC1549", "LPC1768","B96B_F446VE", "VK_RZ_A1H", 00322 "NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F207ZG", 00323 "NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE","NUCLEO_F446ZE", 00324 "DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", 00325 "DISCO_F746NG", "DISCO_L476VG", "NUCLEO_L476RG", "NUCLEO_L432KC", 00326 "DISCO_F769NI", "NUCLEO_F767ZI"] 00327 }, 00328 { 00329 "id": "MBED_A28", "description": "CAN loopback test", 00330 "source_dir": join(TEST_DIR, "mbed", "can_loopback"), 00331 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00332 "automated": True, 00333 "mcu": ["B96B_F446VE", 00334 "NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F207ZG", 00335 "NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F446RE","NUCLEO_F446ZE", 00336 "DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", 00337 "DISCO_F746NG", "DISCO_L476VG", "NUCLEO_L476RG", "NUCLEO_L432KC", 00338 "DISCO_F769NI", "NUCLEO_F767ZI"] 00339 }, 00340 { 00341 "id": "MBED_A29", "description": "i2c_master_slave_asynch", 00342 "source_dir": join(TEST_DIR, "mbed", "i2c_master_slave_asynch"), 00343 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00344 "automated": True, 00345 "peripherals": ["i2c_loop"] 00346 }, 00347 { 00348 "id": "MBED_BLINKY", "description": "Blinky", 00349 "source_dir": join(TEST_DIR, "mbed", "blinky"), 00350 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00351 "automated": False, 00352 }, 00353 { 00354 "id": "MBED_BUS", "description": "Blinky BUS", 00355 "source_dir": join(TEST_DIR, "mbed", "bus"), 00356 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00357 "automated": False, 00358 }, 00359 00360 { 00361 "id": "MBED_BUSOUT", "description": "BusOut", 00362 "source_dir": join(TEST_DIR, "mbed", "bus_out"), 00363 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00364 "exclude_mcu": ["NUCLEO_L011K4"], 00365 "automated": True, 00366 }, 00367 00368 # Size benchmarks 00369 { 00370 "id": "BENCHMARK_1", "description": "Size (c environment)", 00371 "source_dir": join(BENCHMARKS_DIR, "cenv"), 00372 "dependencies": [MBED_LIBRARIES] 00373 }, 00374 { 00375 "id": "BENCHMARK_2", "description": "Size (float math)", 00376 "source_dir": join(BENCHMARKS_DIR, "float_math"), 00377 "dependencies": [MBED_LIBRARIES] 00378 }, 00379 { 00380 "id": "BENCHMARK_3", "description": "Size (printf)", 00381 "source_dir": join(BENCHMARKS_DIR, "printf"), 00382 "dependencies": [MBED_LIBRARIES] 00383 }, 00384 { 00385 "id": "BENCHMARK_4", "description": "Size (mbed libs)", 00386 "source_dir": join(BENCHMARKS_DIR, "mbed"), 00387 "dependencies": [MBED_LIBRARIES] 00388 }, 00389 { 00390 "id": "BENCHMARK_5", "description": "Size (all)", 00391 "source_dir": join(BENCHMARKS_DIR, "all"), 00392 "dependencies": [MBED_LIBRARIES] 00393 }, 00394 00395 # performance related tests 00396 { 00397 "id": "PERF_1", "description": "SD Stdio R/W Speed", 00398 "source_dir": join(TEST_DIR, "mbed", "sd_perf_stdio"), 00399 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 00400 "automated": True, 00401 "peripherals": ["SD"] 00402 }, 00403 { 00404 "id": "PERF_2", "description": "SD FileHandle R/W Speed", 00405 "source_dir": join(TEST_DIR, "mbed", "sd_perf_fhandle"), 00406 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 00407 "automated": True, 00408 "peripherals": ["SD"] 00409 }, 00410 { 00411 "id": "PERF_3", "description": "SD FatFS R/W Speed", 00412 "source_dir": join(TEST_DIR, "mbed", "sd_perf_fatfs"), 00413 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 00414 "automated": True, 00415 "peripherals": ["SD"] 00416 }, 00417 00418 00419 # Not automated MBED tests 00420 { 00421 "id": "MBED_1", "description": "I2C SRF08", 00422 "source_dir": join(TEST_DIR, "mbed", "i2c_SRF08"), 00423 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'SRF08')], 00424 "peripherals": ["SRF08"] 00425 }, 00426 { 00427 "id": "MBED_2", "description": "stdio", 00428 "source_dir": join(TEST_DIR, "mbed", "stdio"), 00429 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00430 "automated": True, 00431 #"host_test": "stdio_auto" 00432 }, 00433 { 00434 "id": "MBED_3", "description": "PortOut", 00435 "source_dir": join(TEST_DIR, "mbed", "portout"), 00436 "dependencies": [MBED_LIBRARIES], 00437 }, 00438 { 00439 "id": "MBED_4", "description": "Sleep", 00440 "source_dir": join(TEST_DIR, "mbed", "sleep"), 00441 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00442 "mcu": ["LPC1768", "LPC11U24", "LPC4088","LPC4088_DM","NRF51822", "LPC11U68"] 00443 }, 00444 { 00445 "id": "MBED_5", "description": "PWM", 00446 "source_dir": join(TEST_DIR, "mbed", "pwm"), 00447 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB] 00448 }, 00449 { 00450 "id": "MBED_6", "description": "SW Reset", 00451 "source_dir": join(TEST_DIR, "mbed", "reset"), 00452 "dependencies": [MBED_LIBRARIES], 00453 }, 00454 { 00455 "id": "MBED_7", "description": "stdio benchmark", 00456 "source_dir": join(TEST_DIR, "mbed", "stdio_benchmark"), 00457 "dependencies": [MBED_LIBRARIES], 00458 }, 00459 { 00460 "id": "MBED_8", "description": "SPI", 00461 "source_dir": join(TEST_DIR, "mbed", "spi"), 00462 "dependencies": [MBED_LIBRARIES], 00463 }, 00464 { 00465 "id": "MBED_9", "description": "Sleep Timeout", 00466 "source_dir": join(TEST_DIR, "mbed", "sleep_timeout"), 00467 "dependencies": [MBED_LIBRARIES], 00468 }, 00469 { 00470 "id": "MBED_10", "description": "Hello World", 00471 "source_dir": join(TEST_DIR, "mbed", "hello"), 00472 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00473 "automated": True, 00474 #"host_test": "hello_auto", 00475 }, 00476 { 00477 "id": "MBED_11", "description": "Ticker Int", 00478 "source_dir": join(TEST_DIR, "mbed", "ticker"), 00479 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00480 "automated": True, 00481 #"host_test": "wait_us_auto", 00482 }, 00483 { 00484 "id": "MBED_12", "description": "C++", 00485 "source_dir": join(TEST_DIR, "mbed", "cpp"), 00486 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00487 "automated": True 00488 }, 00489 { 00490 "id": "MBED_13", "description": "Heap & Stack", 00491 "source_dir": join(TEST_DIR, "mbed", "heap_and_stack"), 00492 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00493 }, 00494 { 00495 "id": "MBED_14", "description": "Serial Interrupt", 00496 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt"), 00497 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00498 }, 00499 { 00500 "id": "MBED_15", "description": "RPC", 00501 "source_dir": join(TEST_DIR, "mbed", "rpc"), 00502 "dependencies": [MBED_LIBRARIES, join(LIB_DIR, "rpc"), TEST_MBED_LIB], 00503 "automated": False, 00504 "mcu": ["LPC1768"] 00505 }, 00506 { 00507 "id": "MBED_16", "description": "RTC", 00508 "source_dir": join(TEST_DIR, "mbed", "rtc"), 00509 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00510 "automated": True, 00511 "exclude_mcu": ["NRF51822", "NRF51822_BOOT", "NRF51822_OTA", "NRF51822_Y5_MBUG", 00512 "NRF51_DK", "NRF51_DK_BOOT", "NRF51_DK_OTA", 00513 "NRF51_MICROBIT", "NRF51_MICROBIT_B", "NRF51_MICROBIT_BOOT", 00514 "NRF51_MICROBIT_B_BOOT", "NRF51_MICROBIT_B_OTA", "NRF51_MICROBIT_OTA", 00515 "HRM1017", "HRM1017_BOOT", "HRM1701_OTA", 00516 "NUCLEO_L011K4", 00517 "TY51822R3", "TY51822R3_BOOT", "TY51822R3_OTA", 00518 "NRF15_DONGLE", "NRF15_DONGLE_BOOT", "NRF15_DONGLE_OTA", 00519 "ARCH_BLE", "ARCH_BLE_BOOT", "ARCH_BLE_OTA", 00520 "ARCH_LINK", "ARCH_LINK_BOOT", "ARCH_LINK_OTA", 00521 "RBLAB_BLENANO", "RBLAB_BLENANO_BOOT", "RBLAB_BLENANO_OTA", 00522 "RBLAB_NRF51822", "RBLAB_NRF51822_BOOT", "RBLAB_NRF51822_OTA", 00523 "SEEED_TINY_BLE", "SEEED_TINY_BLE_BOOT", "SEEED_TINY_BLE_OTA", 00524 "WALLBOT_BLE", "WALLBOT_BLE_BOOT", "WALLBOT_BLE_OTA", 00525 "DELTA_DFCM_NNN40", "DELTA_DFCM_NNN40_BOOT", "DELTA_DFCM_NNN40_OTA", 00526 "LPC1114"], 00527 #"host_test": "rtc_auto", 00528 }, 00529 { 00530 "id": "MBED_17", "description": "Serial Interrupt 2", 00531 "source_dir": join(TEST_DIR, "mbed", "serial_interrupt_2"), 00532 "dependencies": [MBED_LIBRARIES], 00533 }, 00534 { 00535 "id": "MBED_18", "description": "Local FS Directory", 00536 "source_dir": join(TEST_DIR, "mbed", "dir"), 00537 "dependencies": [MBED_LIBRARIES], 00538 }, 00539 { 00540 "id": "MBED_19", "description": "SD FS Directory", 00541 "source_dir": join(TEST_DIR, "mbed", "dir_sd"), 00542 "dependencies": [MBED_LIBRARIES, FS_LIBRARY], 00543 "peripherals": ["SD"] 00544 }, 00545 { 00546 "id": "MBED_20", "description": "InterruptIn 2", 00547 "source_dir": join(TEST_DIR, "mbed", "interruptin_2"), 00548 "dependencies": [MBED_LIBRARIES], 00549 }, 00550 { 00551 "id": "MBED_21", "description": "freopen Stream", 00552 "source_dir": join(TEST_DIR, "mbed", "freopen"), 00553 "dependencies": [MBED_LIBRARIES], 00554 }, 00555 { 00556 "id": "MBED_22", "description": "Semihost", 00557 "source_dir": join(TEST_DIR, "mbed", "semihost"), 00558 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00559 "automated": True, 00560 "mcu": ["LPC1768", "LPC2368", "LPC11U24"] 00561 }, 00562 { 00563 "id": "MBED_23", "description": "Ticker Int us", 00564 "source_dir": join(TEST_DIR, "mbed", "ticker_2"), 00565 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00566 "automated": True, 00567 #"host_test": "wait_us_auto" 00568 }, 00569 { 00570 "id": "MBED_24", "description": "Timeout Int us", 00571 "source_dir": join(TEST_DIR, "mbed", "timeout"), 00572 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00573 "automated": True, 00574 #"host_test": "wait_us_auto" 00575 }, 00576 { 00577 "id": "MBED_25", "description": "Time us", 00578 "source_dir": join(TEST_DIR, "mbed", "time_us"), 00579 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00580 "automated": True, 00581 #"host_test": "wait_us_auto" 00582 }, 00583 { 00584 "id": "MBED_26", "description": "Integer constant division", 00585 "source_dir": join(TEST_DIR, "mbed", "div"), 00586 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00587 "automated": True, 00588 }, 00589 { 00590 "id": "MBED_27", "description": "SPI ADXL345", 00591 "source_dir": join(TEST_DIR, "mbed", "spi_ADXL345"), 00592 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'ADXL345')], 00593 "peripherals": ["ADXL345"] 00594 }, 00595 { 00596 "id": "MBED_28", "description": "Interrupt chaining (InterruptManager)", 00597 "source_dir": join(TEST_DIR, "mbed", "interrupt_chaining"), 00598 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00599 }, 00600 { 00601 "id": "MBED_29", "description": "CAN network test", 00602 "source_dir": join(TEST_DIR, "mbed", "can"), 00603 "dependencies": [MBED_LIBRARIES], 00604 "mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC", 00605 "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE", 00606 "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE","NUCLEO_F446ZE", "DISCO_F469NI", "NUCLEO_F207ZG", 00607 "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", "DISCO_F746NG", 00608 "NUCLEO_L476RG", "NUCLEO_L432KC"] 00609 }, 00610 { 00611 "id": "MBED_30", "description": "CAN network test using interrupts", 00612 "source_dir": join(TEST_DIR, "mbed", "can_interrupt"), 00613 "dependencies": [MBED_LIBRARIES], 00614 "mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC", "NUCLEO_F207ZG", 00615 "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE", 00616 "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "NUCLEO_F446ZE", "DISCO_F469NI", 00617 "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG", "DISCO_F746NG", 00618 "NUCLEO_L476RG", "NUCLEO_L432KC"] 00619 }, 00620 { 00621 "id": "MBED_31", "description": "PWM LED test", 00622 "source_dir": join(TEST_DIR, "mbed", "pwm_led"), 00623 "dependencies": [MBED_LIBRARIES], 00624 }, 00625 { 00626 "id": "MBED_32", "description": "Pin toggling", 00627 "source_dir": join(TEST_DIR, "mbed", "pin_toggling"), 00628 "dependencies": [MBED_LIBRARIES], 00629 }, 00630 { 00631 "id": "MBED_33", "description": "C string operations", 00632 "source_dir": join(TEST_DIR, "mbed", "cstring"), 00633 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00634 "automated": False, 00635 }, 00636 { 00637 "id": "MBED_34", "description": "Ticker Two callbacks", 00638 "source_dir": join(TEST_DIR, "mbed", "ticker_3"), 00639 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00640 "automated": True, 00641 #"host_test": "wait_us_auto" 00642 }, 00643 { 00644 "id": "MBED_35", "description": "SPI C12832 display", 00645 "source_dir": join(TEST_DIR, "mbed", "spi_C12832"), 00646 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'C12832')], 00647 "peripherals": ["C12832"], 00648 "automated": True, 00649 }, 00650 { 00651 "id": "MBED_36", "description": "WFI correct behavior", 00652 "source_dir": join(TEST_DIR, "mbed", "wfi"), 00653 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00654 "automated": False 00655 }, 00656 { 00657 "id": "MBED_37", "description": "Serial NC RX", 00658 "source_dir": join(TEST_DIR, "mbed", "serial_nc_rx"), 00659 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00660 "exclude_mcu": ["NUCLEO_L011K4"], 00661 "automated": True 00662 }, 00663 { 00664 "id": "MBED_38", "description": "Serial NC TX", 00665 "source_dir": join(TEST_DIR, "mbed", "serial_nc_tx"), 00666 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00667 "exclude_mcu": ["NUCLEO_L011K4"], 00668 "automated": True 00669 }, 00670 { 00671 "id": "MBED_39", "description": "Serial Complete", 00672 "source_dir": join(TEST_DIR, "mbed", "serial_complete"), 00673 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 00674 "automated": False 00675 }, 00676 00677 # CMSIS RTOS tests 00678 { 00679 "id": "CMSIS_RTOS_1", "description": "Basic", 00680 "source_dir": join(TEST_DIR, "rtos", "cmsis", "basic"), 00681 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00682 }, 00683 { 00684 "id": "CMSIS_RTOS_2", "description": "Mutex", 00685 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mutex"), 00686 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00687 }, 00688 { 00689 "id": "CMSIS_RTOS_3", "description": "Semaphore", 00690 "source_dir": join(TEST_DIR, "rtos", "cmsis", "semaphore"), 00691 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00692 }, 00693 { 00694 "id": "CMSIS_RTOS_4", "description": "Signals", 00695 "source_dir": join(TEST_DIR, "rtos", "cmsis", "signals"), 00696 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00697 }, 00698 { 00699 "id": "CMSIS_RTOS_5", "description": "Queue", 00700 "source_dir": join(TEST_DIR, "rtos", "cmsis", "queue"), 00701 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00702 }, 00703 { 00704 "id": "CMSIS_RTOS_6", "description": "Mail", 00705 "source_dir": join(TEST_DIR, "rtos", "cmsis", "mail"), 00706 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00707 }, 00708 { 00709 "id": "CMSIS_RTOS_7", "description": "Timer", 00710 "source_dir": join(TEST_DIR, "rtos", "cmsis", "timer"), 00711 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00712 }, 00713 { 00714 "id": "CMSIS_RTOS_8", "description": "ISR", 00715 "source_dir": join(TEST_DIR, "rtos", "cmsis", "isr"), 00716 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES], 00717 }, 00718 00719 # mbed RTOS tests 00720 { 00721 "id": "RTOS_1", "description": "Basic thread", 00722 "source_dir": join(TEST_DIR, "rtos", "mbed", "basic"), 00723 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00724 "automated": True, 00725 #"host_test": "wait_us_auto", 00726 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00727 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00728 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00729 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00730 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00731 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303ZE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F103RB", "DISCO_F746NG", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00732 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00733 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00734 }, 00735 { 00736 "id": "RTOS_2", "description": "Mutex resource lock", 00737 "source_dir": join(TEST_DIR, "rtos", "mbed", "mutex"), 00738 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00739 "automated": True, 00740 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00741 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00742 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00743 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00744 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00745 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", "NUCLEO_F446RE", "NUCLEO_F103RB", "DISCO_F746NG", 00746 "NUCLEO_F446ZE", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00747 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00748 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00749 }, 00750 { 00751 "id": "RTOS_3", "description": "Semaphore resource lock", 00752 "source_dir": join(TEST_DIR, "rtos", "mbed", "semaphore"), 00753 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00754 "automated": True, 00755 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00756 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00757 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00758 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00759 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00760 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", "NUCLEO_F446RE", "NUCLEO_F446ZE", 00761 "NUCLEO_F103RB", "DISCO_F746NG", 00762 "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00763 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00764 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00765 }, 00766 { 00767 "id": "RTOS_4", "description": "Signals messaging", 00768 "source_dir": join(TEST_DIR, "rtos", "mbed", "signals"), 00769 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00770 "automated": True, 00771 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00772 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00773 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00774 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00775 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00776 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", "NUCLEO_F446RE", "NUCLEO_F446ZE", 00777 "NUCLEO_F103RB", "DISCO_F746NG", 00778 "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00779 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00780 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00781 }, 00782 { 00783 "id": "RTOS_5", "description": "Queue messaging", 00784 "source_dir": join(TEST_DIR, "rtos", "mbed", "queue"), 00785 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00786 "automated": True, 00787 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00788 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00789 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00790 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00791 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00792 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", 00793 "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F103RB", "DISCO_F746NG", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00794 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00795 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00796 }, 00797 { 00798 "id": "RTOS_6", "description": "Mail messaging", 00799 "source_dir": join(TEST_DIR, "rtos", "mbed", "mail"), 00800 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00801 "automated": True, 00802 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00803 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00804 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00805 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00806 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00807 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", 00808 "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F103RB", "DISCO_F746NG", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00809 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00810 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00811 }, 00812 { 00813 "id": "RTOS_7", "description": "Timer", 00814 "source_dir": join(TEST_DIR, "rtos", "mbed", "timer"), 00815 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00816 "automated": True, 00817 #"host_test": "wait_us_auto", 00818 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00819 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00820 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00821 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00822 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00823 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", 00824 "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F103RB", "DISCO_F746NG", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00825 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00826 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00827 }, 00828 { 00829 "id": "RTOS_8", "description": "ISR (Queue)", 00830 "source_dir": join(TEST_DIR, "rtos", "mbed", "isr"), 00831 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB], 00832 "automated": True, 00833 "mcu": ["LPC1768", "LPC1549", "LPC11U24", "LPC812", "LPC2460", "LPC824", "SSCI824", 00834 "KL25Z", "KL05Z", "K22F", "K64F", "K66F", "KL43Z", "KL46Z", "HEXIWEAR", 00835 "RZ_A1H", "VK_RZ_A1H", "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F411RE", "DISCO_F469NI", "NUCLEO_F410RB", "NUCLEO_F429ZI", 00836 "NUCLEO_F401RE", "NUCLEO_F334R8", "DISCO_F334C8", "NUCLEO_F302R8", "NUCLEO_F303ZE", "NUCLEO_F070RB", "NUCLEO_F207ZG", 00837 "NUCLEO_L073RZ", "NUCLEO_F072RB", "NUCLEO_F091RC", "NUCLEO_L432KC", "DISCO_L476VG", "NUCLEO_L476RG", 00838 "DISCO_F401VC", "NUCLEO_F303RE", "NUCLEO_F303K8", "MAXWSNENV", "MAX32600MBED", "NUCLEO_L152RE", 00839 "NUCLEO_F446RE", "NUCLEO_F446ZE", "NUCLEO_F103RB", "DISCO_F746NG", "NUCLEO_F746ZG", "MOTE_L152RC", "B96B_F446VE", 00840 "EFM32HG_STK3400", "EFM32PG_STK3401", "EFM32LG_STK3600", "EFM32GG_STK3700", "EFM32WG_STK3800", 00841 "NRF51822", "NRF51_DK", "SEEED_TINY_BLE", "ARM_BEETLE_SOC", "NUCLEO_F767ZI", "DISCO_F769NI"], 00842 }, 00843 { 00844 "id": "RTOS_9", "description": "SD File write-read", 00845 "source_dir": join(TEST_DIR, "rtos", "mbed", "file"), 00846 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 00847 "automated": True, 00848 "peripherals": ["SD"], 00849 "mcu": ["LPC1768", "LPC11U24", "LPC812", "KL25Z", "HEXIWEAR", 00850 "KL05Z", "K64F", "K66F", "KL46Z", "RZ_A1H", 00851 "DISCO_F407VG", "DISCO_F429ZI", "NUCLEO_F429ZI", "NUCLEO_F411RE", "NUCLEO_F401RE", "NUCLEO_F410RB", "DISCO_F469NI", "NUCLEO_F207ZG"], 00852 }, 00853 00854 # Networking Tests 00855 { 00856 "id": "NET_1", "description": "TCP client hello world", 00857 "source_dir": join(TEST_DIR, "net", "helloworld", "tcpclient"), 00858 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00859 "automated": True, 00860 "peripherals": ["ethernet"], 00861 }, 00862 { 00863 "id": "NET_2", "description": "NIST Internet Time Service", 00864 "source_dir": join(TEST_DIR, "net", "helloworld", "udpclient"), 00865 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00866 "automated": True, 00867 "peripherals": ["ethernet"], 00868 }, 00869 { 00870 "id": "NET_3", "description": "TCP echo server", 00871 "source_dir": join(TEST_DIR, "net", "echo", "tcp_server"), 00872 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00873 "automated": True, 00874 #"host_test" : "tcpecho_server_auto", 00875 "peripherals": ["ethernet"], 00876 }, 00877 { 00878 "id": "NET_4", "description": "TCP echo client", 00879 "source_dir": join(TEST_DIR, "net", "echo", "tcp_client"), 00880 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00881 "automated": True, 00882 #"host_test": "tcpecho_client_auto", 00883 "peripherals": ["ethernet"] 00884 }, 00885 { 00886 "id": "NET_5", "description": "UDP echo server", 00887 "source_dir": join(TEST_DIR, "net", "echo", "udp_server"), 00888 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00889 "automated": True, 00890 #"host_test" : "udpecho_server_auto", 00891 "peripherals": ["ethernet"] 00892 }, 00893 { 00894 "id": "NET_6", "description": "UDP echo client", 00895 "source_dir": join(TEST_DIR, "net", "echo", "udp_client"), 00896 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00897 "automated": True, 00898 #"host_test" : "udpecho_client_auto", 00899 "peripherals": ["ethernet"], 00900 }, 00901 { 00902 "id": "NET_7", "description": "HTTP client hello world", 00903 "source_dir": join(TEST_DIR, "net", "protocols", "HTTPClient_HelloWorld"), 00904 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00905 "automated": True, 00906 "peripherals": ["ethernet"], 00907 }, 00908 { 00909 "id": "NET_8", "description": "NTP client", 00910 "source_dir": join(TEST_DIR, "net", "protocols", "NTPClient_HelloWorld"), 00911 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00912 "automated": True, 00913 "peripherals": ["ethernet"], 00914 }, 00915 { 00916 "id": "NET_9", "description": "Multicast Send", 00917 "source_dir": join(TEST_DIR, "net", "helloworld", "multicast_send"), 00918 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY], 00919 "peripherals": ["ethernet"], 00920 }, 00921 { 00922 "id": "NET_10", "description": "Multicast Receive", 00923 "source_dir": join(TEST_DIR, "net", "helloworld", "multicast_receive"), 00924 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY], 00925 "peripherals": ["ethernet"], 00926 }, 00927 { 00928 "id": "NET_11", "description": "Broadcast Send", 00929 "source_dir": join(TEST_DIR, "net", "helloworld", "broadcast_send"), 00930 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY], 00931 "peripherals": ["ethernet"], 00932 }, 00933 { 00934 "id": "NET_12", "description": "Broadcast Receive", 00935 "source_dir": join(TEST_DIR, "net", "helloworld", "broadcast_receive"), 00936 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY], 00937 "peripherals": ["ethernet"], 00938 }, 00939 { 00940 "id": "NET_13", "description": "TCP client echo loop", 00941 "source_dir": join(TEST_DIR, "net", "echo", "tcp_client_loop"), 00942 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY, TEST_MBED_LIB], 00943 "automated": True, 00944 #"host_test": "tcpecho_client_auto", 00945 "peripherals": ["ethernet"], 00946 }, 00947 { 00948 "id": "NET_14", "description": "UDP PHY/Data link layer", 00949 "source_dir": join(TEST_DIR, "net", "echo", "udp_link_layer"), 00950 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, ETH_LIBRARY], 00951 "automated": False, 00952 "host_test": "udp_link_layer_auto", 00953 "peripherals": ["ethernet"], 00954 }, 00955 00956 # u-blox tests 00957 { 00958 "id": "UB_1", "description": "u-blox USB modem: HTTP client", 00959 "source_dir": [join(TEST_DIR, "net", "cellular", "http", "ubloxusb"), join(TEST_DIR, "net", "cellular", "http", "common")], 00960 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, USB_HOST_LIBRARIES, UBLOX_LIBRARY], 00961 "supported": CORTEX_ARM_SUPPORT, 00962 }, 00963 { 00964 "id": "UB_2", "description": "u-blox USB modem: SMS test", 00965 "source_dir": [join(TEST_DIR, "net", "cellular", "sms", "ubloxusb"), join(TEST_DIR, "net", "cellular", "sms", "common")], 00966 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, USB_HOST_LIBRARIES, UBLOX_LIBRARY], 00967 "supported": CORTEX_ARM_SUPPORT, 00968 }, 00969 00970 # USB Tests 00971 { 00972 "id": "USB_1", "description": "Mouse", 00973 "source_dir": join(TEST_DIR, "usb", "device", "basic"), 00974 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 00975 }, 00976 { 00977 "id": "USB_2", "description": "Keyboard", 00978 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"), 00979 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 00980 }, 00981 { 00982 "id": "USB_3", "description": "Mouse_Keyboard", 00983 "source_dir": join(TEST_DIR, "usb", "device", "keyboard"), 00984 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 00985 }, 00986 { 00987 "id": "USB_4", "description": "Serial Port", 00988 "source_dir": join(TEST_DIR, "usb", "device", "serial"), 00989 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 00990 "supported": CORTEX_ARM_SUPPORT, 00991 }, 00992 { 00993 "id": "USB_5", "description": "Generic HID", 00994 "source_dir": join(TEST_DIR, "usb", "device", "raw_hid"), 00995 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 00996 }, 00997 { 00998 "id": "USB_6", "description": "MIDI", 00999 "source_dir": join(TEST_DIR, "usb", "device", "midi"), 01000 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 01001 }, 01002 { 01003 "id": "USB_7", "description": "AUDIO", 01004 "source_dir": join(TEST_DIR, "usb", "device", "audio"), 01005 "dependencies": [MBED_LIBRARIES, USB_LIBRARIES], 01006 }, 01007 01008 # CMSIS DSP 01009 { 01010 "id": "CMSIS_DSP_1", "description": "FIR", 01011 "source_dir": join(TEST_DIR, "dsp", "cmsis", "fir_f32"), 01012 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES], 01013 }, 01014 01015 # mbed DSP 01016 { 01017 "id": "DSP_1", "description": "FIR", 01018 "source_dir": join(TEST_DIR, "dsp", "mbed", "fir_f32"), 01019 "dependencies": [MBED_LIBRARIES, DSP_LIBRARIES], 01020 }, 01021 01022 # KL25Z 01023 { 01024 "id": "KL25Z_1", "description": "LPTMR", 01025 "source_dir": join(TEST_DIR, "KL25Z", "lptmr"), 01026 "dependencies": [MBED_LIBRARIES], 01027 "supported": CORTEX_ARM_SUPPORT, 01028 "mcu": ["KL25Z"], 01029 }, 01030 { 01031 "id": "KL25Z_2", "description": "PIT", 01032 "source_dir": join(TEST_DIR, "KL25Z", "pit"), 01033 "dependencies": [MBED_LIBRARIES], 01034 "supported": CORTEX_ARM_SUPPORT, 01035 "mcu": ["KL25Z"], 01036 }, 01037 { 01038 "id": "KL25Z_3", "description": "TSI Touch Sensor", 01039 "source_dir": join(TEST_DIR, "mbed", "tsi"), 01040 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'TSI')], 01041 "mcu": ["KL25Z"], 01042 }, 01043 { 01044 "id": "KL25Z_4", "description": "RTC", 01045 "source_dir": join(TEST_DIR, "KL25Z", "rtc"), 01046 "dependencies": [MBED_LIBRARIES], 01047 "mcu": ["KL25Z"], 01048 }, 01049 { 01050 "id": "KL25Z_5", "description": "MMA8451Q accelerometer", 01051 "source_dir": join(TEST_DIR, "mbed", "i2c_MMA8451Q"), 01052 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, join(PERIPHERALS, 'MMA8451Q')], 01053 "mcu": ["KL25Z", "KL05Z", "KL46Z", "K20D50M"], 01054 "automated": True, 01055 }, 01056 01057 # Examples 01058 { 01059 "id": "EXAMPLE_1", "description": "/dev/null", 01060 "source_dir": join(TEST_DIR, "mbed", "dev_null"), 01061 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 01062 "exclude_mcu": ["NUCLEO_L011K4"], 01063 "automated": True, 01064 #"host_test" : "dev_null_auto", 01065 }, 01066 { 01067 "id": "EXAMPLE_2", "description": "FS + RTOS", 01068 "source_dir": join(TEST_DIR, "mbed", "fs"), 01069 "dependencies": [MBED_LIBRARIES, RTOS_LIBRARIES, TEST_MBED_LIB, FS_LIBRARY], 01070 }, 01071 01072 # CPPUTEST Library provides Unit testing Framework 01073 # 01074 # To write TESTs and TEST_GROUPs please add CPPUTEST_LIBRARY to 'dependencies' 01075 # 01076 # This will also include: 01077 # 1. test runner - main function with call to CommandLineTestRunner::RunAllTests(ac, av) 01078 # 2. Serial console object to print test result on serial port console 01079 # 01080 01081 # Unit testing with cpputest library 01082 { 01083 "id": "UT_1", "description": "Basic", 01084 "source_dir": join(TEST_DIR, "utest", "basic"), 01085 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01086 "automated": False, 01087 }, 01088 { 01089 "id": "UT_2", "description": "Semihost file system", 01090 "source_dir": join(TEST_DIR, "utest", "semihost_fs"), 01091 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01092 "automated": False, 01093 "mcu": ["LPC1768", "LPC2368", "LPC11U24"] 01094 }, 01095 { 01096 "id": "UT_3", "description": "General tests", 01097 "source_dir": join(TEST_DIR, "utest", "general"), 01098 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01099 "automated": False, 01100 }, 01101 { 01102 "id": "UT_BUSIO", "description": "BusIn BusOut", 01103 "source_dir": join(TEST_DIR, "utest", "bus"), 01104 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01105 "automated": False, 01106 }, 01107 { 01108 "id": "UT_I2C_EEPROM_ASYNCH", "description": "I2C Asynch eeprom", 01109 "source_dir": join(TEST_DIR, "utest", "i2c_eeprom_asynch"), 01110 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01111 "automated": False, 01112 }, 01113 { 01114 "id": "UT_SERIAL_ASYNCH", "description": "Asynch serial test (req 2 serial peripherals)", 01115 "source_dir": join(TEST_DIR, "utest", "serial_asynch"), 01116 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01117 "automated": False, 01118 }, 01119 { 01120 "id": "UT_SPI_ASYNCH", "description": "Asynch spi test", 01121 "source_dir": join(TEST_DIR, "utest", "spi_asynch"), 01122 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01123 "automated": False, 01124 }, 01125 { 01126 "id": "UT_LP_TICKER", "description": "Low power ticker test", 01127 "source_dir": join(TEST_DIR, "utest", "lp_ticker"), 01128 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB, CPPUTEST_LIBRARY], 01129 "automated": False, 01130 }, 01131 01132 # Tests used for target information purposes 01133 { 01134 "id": "DTCT_1", "description": "Simple detect test", 01135 "source_dir": join(TEST_DIR, "mbed", "detect"), 01136 "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], 01137 "automated": True, 01138 #"host_test" : "detect_auto", 01139 }, 01140 01141 ] 01142 01143 # Group tests with the same goals into categories 01144 GROUPS = { 01145 "core": ["MBED_A1", "MBED_A2", "MBED_A3", "MBED_A18"], 01146 "digital_io": ["MBED_A5", "MBED_A6", "MBED_A7", "MBED_A10", "MBED_A11"], 01147 "analog_io": ["MBED_A8"], 01148 "i2c": ["MBED_A19", "MBED_A20"], 01149 "spi": ["MBED_A12"], 01150 } 01151 GROUPS["rtos"] = [test["id"] for test in TESTS if test["id"].startswith("RTOS_")] 01152 GROUPS["net"] = [test["id"] for test in TESTS if test["id"].startswith("NET_")] 01153 GROUPS["automated"] = [test["id"] for test in TESTS if test.get("automated", False)] 01154 # Look for 'TEST_GROUPS' in mbed_settings.py and update the GROUPS dictionary 01155 # with the information in test_groups if found 01156 try: 01157 from mbed_settings import TEST_GROUPS 01158 except: 01159 TEST_GROUPS = {} 01160 GROUPS.update(TEST_GROUPS) 01161 01162 class Test: 01163 DEFAULTS = { 01164 #'mcu': None, 01165 'description': None, 01166 'dependencies': None, 01167 'duration': 30, 01168 'host_test': 'host_test', 01169 'automated': False, 01170 'peripherals': None, 01171 #'supported': None, 01172 'source_dir': None, 01173 'extra_files': None 01174 } 01175 def __init__(self, n): 01176 self.n = n 01177 self.__dict__.update(Test.DEFAULTS) 01178 self.__dict__.update(TESTS[n]) 01179 01180 def is_supported(self, target, toolchain): 01181 if hasattr(self, 'mcu') and not target in self.mcu: 01182 return False 01183 if hasattr(self, 'exclude_mcu') and target in self.exclude_mcu: 01184 return False 01185 if not hasattr(self, 'supported'): 01186 return True 01187 return (target in self.supported) and (toolchain in self.supported[target]) 01188 01189 def get_description(self): 01190 if self.description: 01191 return self.description 01192 else: 01193 return self.id 01194 01195 def __cmp__(self, other): 01196 return cmp(self.n, other.n) 01197 01198 def __str__(self): 01199 return "[%3d] %s: %s" % (self.n, self.id, self.get_description()) 01200 01201 def __getitem__(self, key): 01202 if key == "id": return self.id 01203 elif key == "mcu": return self.mcu 01204 elif key == "exclude_mcu": return self.exclude_mcu 01205 elif key == "dependencies": return self.dependencies 01206 elif key == "description": return self.description 01207 elif key == "duration": return self.duration 01208 elif key == "host_test": return self.host_test 01209 elif key == "automated": return self.automated 01210 elif key == "peripherals": return self.peripherals 01211 elif key == "supported": return self.supported 01212 elif key == "source_dir": return self.source_dir 01213 elif key == "extra_files": return self.extra_files 01214 else: 01215 return None 01216 01217 TEST_MAP = dict([(test['id'], Test(i)) for i, test in enumerate(TESTS)]) 01218 01219 # parser helpers 01220 def test_known(string): 01221 i = int(string) 01222 if i >= 0 and i < len(TESTS): 01223 return i 01224 else: 01225 raise ArgumentTypeError("{0} does not index a test. The accepted range is 0 to {1}\nThe test mapping is:\n{2}".format(i, len(TEST_MAP) - 1, columnate([str(i) + ":" + t['id'] for i,t in zip(range(len(TESTS)), TESTS)]))) 01226 01227 def test_name_known(string): 01228 if string not in TEST_MAP.keys() and \ 01229 (getattr(ps, "test_alias", None) is None or \ 01230 ps.test_alias.get(string, "") not in TEST_MAP.keys()): 01231 raise ArgumentTypeError("Program with name '{0}' not found. Supported tests are: \n{1}".format(string, columnate([t['id'] for t in TESTS]))) 01232 01233 return TEST_MAP[string].n
Generated on Tue Jul 12 2022 14:21:23 by
1.7.2
