*** 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.
