blob: bcd9c9fbf2660b12071697390a88046630affdd4 [file] [log] [blame]
*** Keywords ***
Create Machine With Dummy Sensor
[Arguments] ${sensorName}
Execute Command mach create
Execute Command machine LoadPlatformDescriptionFromString "${sensorName}: Sensors.DummySensor @ sysbus <0x0, +0x4>"
Create Machine With Multiple Dummy Sensors
[Arguments] ${sensorName1} ${sensorName2}
Execute Command mach create
Execute Command machine LoadPlatformDescriptionFromString "${sensorName1}: Sensors.DummySensor @ sysbus <0x0, +0x4>"
Execute Command machine LoadPlatformDescriptionFromString "${sensorName2}: Sensors.DummySensor @ sysbus <0x4, +0x4>"
Should List Sensor In Environment Once
[Arguments] ${env} ${sensorName}
${lines}= Execute Command ${env} GetRegisteredSensorsNames
${result}= Get Lines Containing String ${lines} ${sensorName}
${count}= Get Line Count ${result}
Should Be Equal As Integers ${count} 1
*** Test Cases ***
Should List Sensor Once
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1
Should Set Temperature On Single Sensor
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command machine SetEnvironment env1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
Should Set Temperature On Single Sensor Twice
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command machine SetEnvironment env1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
Execute Command env1 Temperature 38.1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 38.1
Should Set Temperature And Humidity On Single Sensor
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command env1 Humidity 89.5
Execute Command machine SetEnvironment env1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
${humidity}= Execute Command sysbus.dummySensor1 Humidity
Should Contain ${humidity} 89.5
Should List Sensor Once If Machine Was Added To Environment Twice
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command machine SetEnvironment env1
Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1
Should Update Sensor Once If Machine Was Added To Environment Twice
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
${count}= Execute Command sysbus.dummySensor1 TemperatureUpdateCounter
Should Contain ${count} 0x00000001
Execute Command machine SetEnvironment env1
${count}= Execute Command sysbus.dummySensor1 TemperatureUpdateCounter
Should Contain ${count} 0x00000001
Should List Two Sensors
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Contain ${lines} machine-0:sysbus.dummySensor1
Should Contain ${lines} machine-0:sysbus.dummySensor2
Should Set Temperature After Machine Reset
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command env1 Temperature 55.5
Execute Command s
Execute Command machine Reset #Reset requires the machine to be started
Execute Command p
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 55.5
Should List Two Sensors In Different Environments
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command emulation CreateEnvironment "env2"
Execute Command sysbus.dummySensor2 SetEnvironment env2
Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor2
Should List Sensor In Environment Once env2 machine-0:sysbus.dummySensor2
${lines}= Execute Command env2 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
Should Set Temperature On Two Sensors In Different Environments
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command machine SetEnvironment env1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
${temperature}= Execute Command sysbus.dummySensor2 Temperature
Should Contain ${temperature} 36.6
Execute Command emulation CreateEnvironment "env2"
Execute Command env2 Temperature 40.5
Execute Command sysbus.dummySensor2 SetEnvironment env2
${temperature}= Execute command sysbus.dummySensor2 Temperature
Should Contain ${temperature} 40.5
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
Should Set Temperature On Two Sensors In Different Environments After Reset
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command machine SetEnvironment env1
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
${temperature}= Execute Command sysbus.dummySensor2 Temperature
Should Contain ${temperature} 36.6
Execute Command emulation CreateEnvironment "env2"
Execute Command env2 Temperature 40.5
Execute Command sysbus.dummySensor2 SetEnvironment env2
Execute Command s
Execute command machine Reset
Execute Command p
${temperature}= Execute command sysbus.dummySensor2 Temperature
Should Contain ${temperature} 40.5
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
Should Set Temperature On Sensors Added After Registering An Environment
Execute Command mach create
Execute Command emulation CreateEnvironment "env1"
Execute Command env1 Temperature 36.6
Execute Command machine SetEnvironment env1
Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x4, +0x4>"
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 36.6
Should Move Sensors Between Environments
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command emulation CreateEnvironment "env2"
Execute Command machine SetEnvironment env1
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Contain ${lines} machine-0:sysbus.dummySensor1
Should Contain ${lines} machine-0:sysbus.dummySensor2
Execute Command machine SetEnvironment env2
${lines}= Execute Command env2 GetRegisteredSensorsNames
Should Contain ${lines} machine-0:sysbus.dummySensor1
Should Contain ${lines} machine-0:sysbus.dummySensor2
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
Should Not Contain ${lines} machine-0:sysbus.dummySensor2
Should Move Sensor With The Machine
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command emulation CreateEnvironment "env2"
Execute Command emulation CreateEnvironment "env3"
Execute Command machine SetEnvironment env1
Execute Command sysbus.dummySensor1 SetEnvironment env2
Execute Command machine SetEnvironment env3
${lines}= Execute Command env2 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
Should Move Added Sensor Between Environments
Execute Command mach create
Execute Command emulation CreateEnvironment "env1"
Execute Command emulation CreateEnvironment "env2"
Execute Command machine SetEnvironment env1
Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x0, +0x4>"
Execute Command machine SetEnvironment env2
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
${lines}= Execute Command env2 GetRegisteredSensorsNames
Should Contain ${lines} machine-0:sysbus.dummySensor1
Should Not List Removed Sensor
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command machine UnregisterFromParent sysbus.dummySensor1
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
Should Not List Sensors From Removed Machine
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command emulation RemoveMachine "machine-0"
${lines}= Execute Command env1 GetRegisteredSensorsNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor1
Should Not List Removed Machine
Execute Command mach create
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command emulation RemoveMachine "machine-0"
${lines}= Execute Command env1 GetRegisteredMachineNames
Should Not Contain ${lines} machine-0
Should Not List Sensors From Removed Machine In Different Environment
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command emulation CreateEnvironment "env2"
Execute Command machine SetEnvironment env1
Execute Command sysbus.dummySensor2 SetEnvironment env2
Execute Command emulation RemoveMachine "machine-0"
${lines}= Execute Command env2 GetRegisteredMachineNames
Should Not Contain ${lines} machine-0:sysbus.dummySensor2
Should Set Temperature After Sensor Removal
Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command machine UnregisterFromParent sysbus.dummySensor1
Execute Command env1 Temperature 55.5
${temperature}= Execute Command sysbus.dummySensor2 Temperature
Should Contain ${temperature} 55.5
Should Set Temperature On Readded Sensor
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Execute Command env1 Temperature 55.5
Execute Command machine UnregisterFromParent sysbus.dummySensor1
Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x0, +0x4>"
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 55.5
Should Serialize And Set Temperature On Single Sensor
Create Machine With Dummy Sensor dummySensor1
Execute Command emulation CreateEnvironment "env1"
Execute Command machine SetEnvironment env1
Handle Hot Spot Serialize
Execute Command mach set 0
Execute Command env1 Temperature 55.5
${temperature}= Execute Command sysbus.dummySensor1 Temperature
Should Contain ${temperature} 55.5