blob: 54013266aaa1614989defeb185aab896e50237ee [file] [log] [blame]
*** 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