upload
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Você pode visualizar os arquivos e realizar clone, mas não poderá realizar push nem abrir issues e pull requests.

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