blob: efd61390118337e36f496a1af0ee4bcd928b50e6 [file] [log] [blame]
*** Settings ***
Suite Setup Setup
Suite Teardown Teardown
Test Setup Reset Emulation
Test Teardown Test Teardown
Resource ${RENODEKEYWORDS}
*** Variables ***
${LOG_TIMEOUT} 2
${ROOTDIR} @${CURDIR}/../..
${SCRIPT} sim/config/shodan.resc
${PROMPT} CANTRIP>
${UART0} sysbus.uart0
${UART1} sysbus.uart1
${UART2} sysbus.uart2
${UART3} sysbus.uart3
${UART5} sysbus.uart5
*** Keywords ***
Prepare Machine
Execute Command path set ${ROOTDIR}
Execute Script ${SCRIPT}
# Add UART5 virtual time so we can check the machine execution time
Execute Command uart5-analyzer TimestampFormat Virtual
Execute Command cpu0 IsHalted false
Set Default Uart Timeout 300
*** Test Cases ***
Shodan Smoke Test
[Documentation] Test TockOS boot, seL4 boot and ML Execution
[Tags] ml tock seL4 uart
Prepare Machine
Create Log Tester ${LOG_TIMEOUT}
${tockuart}= Create Terminal Tester ${UART0}
${sel4uart}= Create Terminal Tester ${UART5}
Start Emulation
Wait For Line On Uart load_sel4() completed successfully testerId=${tockuart}
Wait For Line On Uart Booting all finished, dropped to user space testerId=${sel4uart}
Wait For Prompt On Uart ${PROMPT} testerId=${sel4uart}
Write Line To Uart install mobilenet_v1_emitc_static.model testerId=${sel4uart}
# Bundle ID needs to be retrieved at runtime
${l}= Wait For Line On Uart Bundle "fake.(\\d+)" installed testerId=${sel4uart} treatAsRegex=true
Write Line to Uart test_mlexecute fake.${l.groups[0]} mobilenet_v1_emitc_static.model testerId=${sel4uart}
Wait For Prompt On Uart ${PROMPT} testerId=${sel4uart}
Wait For LogEntry "main returned: ", 0
# Test timer
Write Line To Uart test_timer_blocking 10 testerId=${sel4uart}
Wait For LogEntry Timer completed.