*** Variables *** ${SWITCH} switch ${ETHERNET} sysbus.emac0 ${UART} sysbus.lpuart2 ${TFTP_BIN} https://dl.antmicro.com/projects/renode/mr_canhubk3--zephyr-samples_tftp_client.elf-s_4221436-4506026fa27d356a09719cc60c1750449b11cc80 ${EMAC_PERIPHERAL} SEPARATOR=${\n} ... """ ... emac0: Network.S32K3XX_EMAC @ sysbus 0x40480000 ... ${SPACE*4}systemClockFrequency: 50000000 ... ${SPACE*4}IRQ->nvic0@105 ... ${SPACE*4}Channel0TX->nvic0@106 ... ${SPACE*4}Channel0RX->nvic0@107 ... """ *** Keywords *** Create Machine [Arguments] ${elf} Execute Command mach create Execute Command machine LoadPlatformDescription @platforms/cpus/nxp-s32k388.repl # The test binary is built for s32k344 as Zephyr currently doesn't support s32k388. Due to that mismatch we # need to change the ethernet controller to match what software expects. Execute Command sysbus Unregister sysbus.gmac0 Execute Command machine LoadPlatformDescriptionFromString ${EMAC_PERIPHERAL} ${reset_macro}= Catenate SEPARATOR=${\n} ... """ ... sysbus LoadELF @${elf} ... sysbus.cpu0 VectorTableOffset `sysbus GetSymbolAddress "_vector_table"` ... """ Execute Command macro reset${\n}${reset_macro} Execute Command runMacro $reset *** Test Cases *** Should Transfer Files via TFTP ${test_file}= Allocate Temporary File Create File ${test_file} hello!\n Create Machine ${TFTP_BIN} Execute Command emulation CreateSwitch "${SWITCH}" Execute Command emulation CreateNetworkServer "server" "192.0.2.2" Execute Command connector Connect server ${SWITCH} Execute Command server StartTFTP 69 Execute Command server.tftp ServeFile @${test_file} "file1.bin" Execute Command server.tftp LogReceivedFiles true Execute Command connector Connect ${ETHERNET} ${SWITCH} Create Terminal Tester ${UART} Create Log Tester 1 Wait For Line On UART Run TFTP client Wait For Line On UART Received data: Wait For Line On UART 68 65 6c 6c 6f 21 0a\\s+|hello!\. treatAsRegex=true Wait For Line On UART TFTP client get done Wait For Line On UART TFTP client put done Wait For Log Entry Received file 'newfile.bin': Lorem ipsum dolor sit amet, consectetur adipiscing elit