| *** Variables *** |
| ${UART} sysbus.usart3 |
| |
| ${PROJECT_URL} https://dl.antmicro.com/projects/renode |
| ${ECHO_SERVER} ${PROJECT_URL}/nucleo_f429zi-zephyr-echo_server.elf-s_3529768-a44aca7749d2850302350f4c2fb4647aecaa8c72 |
| ${ECHO_CLIENT} ${PROJECT_URL}/nucleo_f429zi-zephyr-echo_client.elf-s_3478872-614b8752844ac17e9335fcd12ad9fcec742571d5 |
| |
| ${PLATFORM} @platforms/boards/stm32f4_discovery-kit.repl |
| |
| *** Keywords *** |
| Create Setup |
| Execute Command emulation CreateSwitch "switch" |
| |
| Create Machine ${ECHO_SERVER} |
| Execute Command connector Connect sysbus.ethernet switch |
| Create Machine ${ECHO_CLIENT} |
| Execute Command connector Connect sysbus.ethernet switch |
| |
| Create Machine |
| [Arguments] ${elf} |
| |
| Execute Command mach create |
| Execute Command machine LoadPlatformDescription ${PLATFORM} |
| |
| Execute Command sysbus LoadELF @${elf} |
| |
| *** Test Cases *** |
| Should Talk |
| Create Setup |
| ${server}= Create Terminal Tester ${UART} machine=machine-0 |
| ${client}= Create Terminal Tester ${UART} machine=machine-1 |
| |
| Start Emulation |
| |
| Wait For Line On Uart Initializing network testerId=${server} |
| Wait For Line On Uart Run echo server testerId=${server} |
| Wait For Line On Uart Network connected testerId=${server} |
| Wait For Line On Uart Waiting for TCP connection testerId=${server} |
| |
| Wait For Line On Uart Initializing network testerId=${client} |
| Wait For Line On Uart Run echo client testerId=${client} |
| Wait For Line On Uart Network connected testerId=${client} |
| |
| Wait For Line On Uart Accepted connection testerId=${server} |
| |
| Wait For Line On Uart Sent testerId=${client} |
| Wait For Line On Uart Received and replied testerId=${server} |
| Wait For Line On Uart Received and compared \\d+ bytes, all ok testerId=${client} treatAsRegex=true |
| |
| Wait For Line On Uart Sent testerId=${client} |
| Wait For Line On Uart Received and replied testerId=${server} |
| Wait For Line On Uart Received and compared \\d+ bytes, all ok testerId=${client} treatAsRegex=true |
| |
| Wait For Line On Uart Sent testerId=${client} |
| Wait For Line On Uart Received and replied testerId=${server} |
| Wait For Line On Uart Received and compared \\d+ bytes, all ok testerId=${client} treatAsRegex=true |
| |
| Wait For Line On Uart Sent testerId=${client} |
| Wait For Line On Uart Received and replied testerId=${server} |
| Wait For Line On Uart Received and compared \\d+ bytes, all ok testerId=${client} treatAsRegex=true |
| |