| *** Variables *** |
| ${SCRIPT} ${CURDIR}/../../scripts/single-node/gr716_zephyr.resc |
| ${SYNCHRONIZATION_BIN} @https://dl.antmicro.com/projects/renode/gr716a_mini-zephyr-synchronization.elf-s_326772-0b5df5d77c3c1db76ad1fe52116005ac4e2f273c |
| ${UART} sysbus.uart |
| ${PROMPT} uart:~$ |
| |
| *** Keywords *** |
| Prepare Machine |
| [Arguments] ${bin}=${None} |
| IF ${{$bin is not None}} |
| Execute Command $bin = ${bin} |
| END |
| Execute Script ${SCRIPT} |
| |
| Create Terminal Tester ${UART} defaultPauseEmulation=true |
| |
| *** Test Cases *** |
| Should Boot Zephyr |
| [Documentation] Boots Zephyr on the GR716 platform. |
| [Tags] zephyr uart |
| Prepare Machine |
| |
| Start Emulation |
| |
| Wait For Prompt On Uart ${PROMPT} |
| |
| Provides booted-zephyr |
| |
| Should Print Version |
| [Documentation] Tests shell responsiveness in Zephyr on the GR716 platform. |
| [Tags] zephyr uart |
| Requires booted-zephyr |
| |
| Write Line To Uart version |
| Wait For Line On Uart Zephyr version 2.6.99 |
| |
| Should Run Zephyr Synchronization Sample |
| Prepare Machine ${SYNCHRONIZATION_BIN} |
| |
| Wait For Line On Uart thread_a: Hello World from cpu 0 on gr716a_mini! |
| |
| # The sample does k_busy_wait(100000) + k_msleep(500) = 600 ms |
| Execute Command emulation RunFor "0.59" |
| Should Not Be On Uart thread_b: Hello World from cpu 0 on gr716a_mini! timeout=0 |
| Wait For Line On Uart thread_b: Hello World from cpu 0 on gr716a_mini! timeout=0.02 |
| |
| Execute Command emulation RunFor "0.59" |
| Should Not Be On Uart thread_a: Hello World from cpu 0 on gr716a_mini! timeout=0 |
| Wait For Line On Uart thread_a: Hello World from cpu 0 on gr716a_mini! timeout=0.02 |