Files
simulation_core/tests/unit-tests/resd-serialization.robot

101 lines
4.6 KiB
Plaintext

*** Variables ***
${PLATFORM} platforms/cpus/stm32f4.repl
${BIN} https://dl.antmicro.com/projects/renode/nucleo_f401re--zephyr-dht_polling.elf-s_651648-b107cceed1ebc23c894d983a6e519a6e494aee88
${UART} sysbus.usart2
${SENSOR} sysbus.i2c1.hs3001
${CSV2RESD} ${RENODETOOLS}/csv2resd/csv2resd.py
${SAMPLES_CSV} ${RENODETOOLS}/../tests/peripherals/HS3001-samples.csv
*** Keywords ***
Create Machine
Execute Command include @${PLATFORM}
Execute Command machine LoadPlatformDescriptionFromString "hs3001: Sensors.HS3001 @ i2c1 0x44"
Execute Command sysbus LoadELF @${BIN}
Create Terminal Tester ${UART}
Create RESD File
[Arguments] ${path}
${resd_path}= Allocate Temporary File
${args}= Catenate SEPARATOR=,
... "--input", r"${path}"
... "--map", "temperature:temp"
... "--map", "humidity:humidity"
... "--start-time", "0"
... "--frequency", "1"
... r"${resd_path}"
Evaluate subprocess.run([sys.executable, "${CSV2RESD}", ${args}]) sys,subprocess
RETURN ${resd_path}
Set Environment
[Arguments] ${temperature}=0.00 ${humidity}=0.00
Execute Command ${SENSOR} Temperature ${temperature}
Execute Command ${SENSOR} Humidity ${humidity}
Check Environment
[Arguments] ${temperature}=0.00 ${humidity}=0.00
# The '\xc2\xb0' escape sequence is the unicode character: '°'
Wait For Line On Uart temp is ${temperature} \xc2\xb0C humidity is ${humidity} %RH
*** Test Cases ***
Should Save/Load RESD Without Starting
Create Machine
${resd_path}= Create RESD File ${SAMPLES_CSV}
${temp_save}= Allocate Temporary File
Execute Command ${SENSOR} FeedTemperatureSamplesFromRESD @${resd_path}
Execute Command ${SENSOR} FeedHumiditySamplesFromRESD @${resd_path}
Execute Command Save @${temp_save}
Execute Command Load @${temp_save}
Should Save RESD While Streaming
Create Machine
${resd_path}= Create RESD File ${SAMPLES_CSV}
Set Environment temperature=25.56 humidity=30.39
Execute Command ${SENSOR} FeedTemperatureSamplesFromRESD @${resd_path}
Execute Command ${SENSOR} FeedHumiditySamplesFromRESD @${resd_path}
Check Environment temperature=-9.-99 humidity=0.00
Check Environment temperature=0.00 humidity=20.00
Check Environment temperature=4.99 humidity=40.05
Provides saved-while-streaming
Should Load RESD While Streaming
Requires saved-while-streaming
Create Terminal Tester ${UART}
Check Environment temperature=10.00 humidity=60.01
Check Environment temperature=15.00 humidity=80.31
# Sensor should go back to the default values after the RESD file finishes
Check Environment temperature=25.56 humidity=30.39
Should Save/Load RESD After Streamed
Create Machine
${resd_path}= Create RESD File ${SAMPLES_CSV}
${temp_save}= Allocate Temporary File
Set Environment temperature=25.56 humidity=30.39
Execute Command ${SENSOR} FeedTemperatureSamplesFromRESD @${resd_path}
Execute Command ${SENSOR} FeedHumiditySamplesFromRESD @${resd_path}
Check Environment temperature=-9.-99 humidity=0.00
Check Environment temperature=0.00 humidity=20.00
Check Environment temperature=4.99 humidity=40.05
Check Environment temperature=10.00 humidity=60.01
Check Environment temperature=15.00 humidity=80.31
# Sensor should go back to the default values after the RESD file finishes
Check Environment temperature=25.56 humidity=30.39
Execute Command Save @${temp_save}
Execute Command Load @${temp_save}
Create Terminal Tester ${UART}
Check Environment temperature=25.56 humidity=30.39