blob: 9ca5bce1b49b7fe42e1470b50c5b43d386d5a609 [file] [log] [blame]
*** Settings ***
Library DateTime
*** Test Cases ***
Should Pause Renode
# we test if pausing can interrupt the execution before the end of the quantum (hence testing against a value lower than 10)
${pause_limit}= Convert Time 9
Execute Command i @scripts/single-node/miv.resc
Execute Command cpu PerformanceInMips 1
# treat WFI as NOP because WFI might make virtual time advance too far if it has fallen behind host time
Execute Command cpu WfiAsNop true
Execute Command emulation SetGlobalQuantum "10"
# we assume that starting/pausing of the simulation happens during the same quantum;
# it seems to be a resonable expectation for the quantum value of 10 virtual seconds
Execute Command s
Execute Command p
${time_source_info}= Execute Command emulation GetTimeSourceInfo
${elapsed_matches}= Get Regexp Matches ${time_source_info} Elapsed Virtual Time: ([0-9:.]+) 1
${elapsed}= Convert Time ${elapsed_matches[0]}
Should Be True ${elapsed} < ${pause_limit}
Should Print Last Logs
Execute Command i @scripts/single-node/miv.resc
${logs} = Execute Command lastLog
Should Contain ${logs} [INFO] cpu: Setting PC value to 0x80000000.
Should Overflow Buffer
FOR ${i} IN RANGE 1000
Execute Command log "Test-${i}-Log"
END
${logs} = Execute Command lastLog 1000
Should Contain ${logs} Test-0-Log
Should Contain ${logs} Test-999-Log
Should Not Contain ${logs} Test-1000-Log
Execute Command log "Test-1000-Log"
${logs} = Execute Command lastLog 1000
Should Not Contain ${logs} Test-0-Log
Should Contain ${logs} Test-1-Log
Should Contain ${logs} Test-1000-Log
Should Load Python Standard Library
${result} = Execute Command python "import SimpleHTTPServer"
Should Not Contain ${result} No module named
Should Set Proper Types To Variables
Execute Command \$var1=1234
Execute Command set var2 2345
Execute Command emulation SetSeed $var1
Execute Command emulation SetSeed $var2
Should Not Call Conditional Set
Execute Command \$var1=1234
Execute Command \$var1?=5678
${res}= Execute Command echo $\var1
Should Be Equal ${res.strip()} 1234
Should Call Conditional Set
Execute Command \$var1?=5678
${res}= Execute Command echo $\var1
Should Be Equal ${res.strip()} 5678
Should Call GPIO Set
Execute Command i @scripts/single-node/nrf52840.resc
${gpioState}= Execute Command uart0 IRQ
Should Contain ${gpioState} GPIO: unset
Execute Command uart0 IRQ Set true
${gpioState}= Execute Command uart0 IRQ
Should Contain ${gpioState} GPIO: set