1*** Keywords *** 2Create Machine With Dummy Sensor 3 [Arguments] ${sensorName} 4 Execute Command mach create 5 Execute Command machine LoadPlatformDescriptionFromString "${sensorName}: Sensors.DummySensor @ sysbus <0x0, +0x4>" 6 7Create Machine With Multiple Dummy Sensors 8 [Arguments] ${sensorName1} ${sensorName2} 9 Execute Command mach create 10 Execute Command machine LoadPlatformDescriptionFromString "${sensorName1}: Sensors.DummySensor @ sysbus <0x0, +0x4>" 11 Execute Command machine LoadPlatformDescriptionFromString "${sensorName2}: Sensors.DummySensor @ sysbus <0x4, +0x4>" 12 13Should List Sensor In Environment Once 14 [Arguments] ${env} ${sensorName} 15 ${lines}= Execute Command ${env} GetRegisteredSensorsNames 16 ${result}= Get Lines Containing String ${lines} ${sensorName} 17 ${count}= Get Line Count ${result} 18 Should Be Equal As Integers ${count} 1 19 20*** Test Cases *** 21Should List Sensor Once 22 Create Machine With Dummy Sensor dummySensor1 23 Execute Command emulation CreateEnvironment "env1" 24 Execute Command machine SetEnvironment env1 25 Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1 26 27Should Set Temperature On Single Sensor 28 Create Machine With Dummy Sensor dummySensor1 29 Execute Command emulation CreateEnvironment "env1" 30 Execute Command env1 Temperature 36.6 31 Execute Command machine SetEnvironment env1 32 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 33 Should Contain ${temperature} 36.6 34 35Should Set Temperature On Single Sensor Twice 36 Create Machine With Dummy Sensor dummySensor1 37 Execute Command emulation CreateEnvironment "env1" 38 Execute Command env1 Temperature 36.6 39 Execute Command machine SetEnvironment env1 40 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 41 Should Contain ${temperature} 36.6 42 Execute Command env1 Temperature 38.1 43 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 44 Should Contain ${temperature} 38.1 45 46Should Set Temperature And Humidity On Single Sensor 47 Create Machine With Dummy Sensor dummySensor1 48 Execute Command emulation CreateEnvironment "env1" 49 Execute Command env1 Temperature 36.6 50 Execute Command env1 Humidity 89.5 51 Execute Command machine SetEnvironment env1 52 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 53 Should Contain ${temperature} 36.6 54 ${humidity}= Execute Command sysbus.dummySensor1 Humidity 55 Should Contain ${humidity} 89.5 56 57Should List Sensor Once If Machine Was Added To Environment Twice 58 Create Machine With Dummy Sensor dummySensor1 59 Execute Command emulation CreateEnvironment "env1" 60 Execute Command machine SetEnvironment env1 61 Execute Command machine SetEnvironment env1 62 Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1 63 64Should Update Sensor Once If Machine Was Added To Environment Twice 65 Create Machine With Dummy Sensor dummySensor1 66 Execute Command emulation CreateEnvironment "env1" 67 Execute Command machine SetEnvironment env1 68 ${count}= Execute Command sysbus.dummySensor1 TemperatureUpdateCounter 69 Should Contain ${count} 0x00000001 70 Execute Command machine SetEnvironment env1 71 ${count}= Execute Command sysbus.dummySensor1 TemperatureUpdateCounter 72 Should Contain ${count} 0x00000001 73 74 75 76 77 78Should List Two Sensors 79 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 80 Execute Command emulation CreateEnvironment "env1" 81 Execute Command machine SetEnvironment env1 82 ${lines}= Execute Command env1 GetRegisteredSensorsNames 83 Should Contain ${lines} machine-0:sysbus.dummySensor1 84 Should Contain ${lines} machine-0:sysbus.dummySensor2 85 86Should Set Temperature After Machine Reset 87 Create Machine With Dummy Sensor dummySensor1 88 Execute Command emulation CreateEnvironment "env1" 89 Execute Command machine SetEnvironment env1 90 Execute Command env1 Temperature 55.5 91 Execute Command s 92 Execute Command machine Reset #Reset requires the machine to be started 93 Execute Command p 94 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 95 Should Contain ${temperature} 55.5 96 97Should List Two Sensors In Different Environments 98 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 99 Execute Command emulation CreateEnvironment "env1" 100 Execute Command machine SetEnvironment env1 101 Execute Command emulation CreateEnvironment "env2" 102 Execute Command sysbus.dummySensor2 SetEnvironment env2 103 Should List Sensor In Environment Once env1 machine-0:sysbus.dummySensor1 104 ${lines}= Execute Command env1 GetRegisteredSensorsNames 105 Should Not Contain ${lines} machine-0:sysbus.dummySensor2 106 107 Should List Sensor In Environment Once env2 machine-0:sysbus.dummySensor2 108 ${lines}= Execute Command env2 GetRegisteredSensorsNames 109 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 110 111Should Set Temperature On Two Sensors In Different Environments 112 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 113 Execute Command emulation CreateEnvironment "env1" 114 Execute Command env1 Temperature 36.6 115 Execute Command machine SetEnvironment env1 116 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 117 Should Contain ${temperature} 36.6 118 ${temperature}= Execute Command sysbus.dummySensor2 Temperature 119 Should Contain ${temperature} 36.6 120 Execute Command emulation CreateEnvironment "env2" 121 Execute Command env2 Temperature 40.5 122 Execute Command sysbus.dummySensor2 SetEnvironment env2 123 ${temperature}= Execute command sysbus.dummySensor2 Temperature 124 Should Contain ${temperature} 40.5 125 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 126 Should Contain ${temperature} 36.6 127 128Should Set Temperature On Two Sensors In Different Environments After Reset 129 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 130 Execute Command emulation CreateEnvironment "env1" 131 Execute Command env1 Temperature 36.6 132 Execute Command machine SetEnvironment env1 133 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 134 Should Contain ${temperature} 36.6 135 ${temperature}= Execute Command sysbus.dummySensor2 Temperature 136 Should Contain ${temperature} 36.6 137 Execute Command emulation CreateEnvironment "env2" 138 Execute Command env2 Temperature 40.5 139 Execute Command sysbus.dummySensor2 SetEnvironment env2 140 Execute Command s 141 Execute command machine Reset 142 Execute Command p 143 ${temperature}= Execute command sysbus.dummySensor2 Temperature 144 Should Contain ${temperature} 40.5 145 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 146 Should Contain ${temperature} 36.6 147 148 149 150 151 152Should Set Temperature On Sensors Added After Registering An Environment 153 Execute Command mach create 154 Execute Command emulation CreateEnvironment "env1" 155 Execute Command env1 Temperature 36.6 156 Execute Command machine SetEnvironment env1 157 Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x4, +0x4>" 158 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 159 Should Contain ${temperature} 36.6 160 161Should Move Sensors Between Environments 162 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 163 Execute Command emulation CreateEnvironment "env1" 164 Execute Command emulation CreateEnvironment "env2" 165 166 Execute Command machine SetEnvironment env1 167 ${lines}= Execute Command env1 GetRegisteredSensorsNames 168 Should Contain ${lines} machine-0:sysbus.dummySensor1 169 Should Contain ${lines} machine-0:sysbus.dummySensor2 170 171 Execute Command machine SetEnvironment env2 172 ${lines}= Execute Command env2 GetRegisteredSensorsNames 173 Should Contain ${lines} machine-0:sysbus.dummySensor1 174 Should Contain ${lines} machine-0:sysbus.dummySensor2 175 176 ${lines}= Execute Command env1 GetRegisteredSensorsNames 177 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 178 Should Not Contain ${lines} machine-0:sysbus.dummySensor2 179 180Should Move Sensor With The Machine 181 Create Machine With Dummy Sensor dummySensor1 182 Execute Command emulation CreateEnvironment "env1" 183 Execute Command emulation CreateEnvironment "env2" 184 Execute Command emulation CreateEnvironment "env3" 185 Execute Command machine SetEnvironment env1 186 Execute Command sysbus.dummySensor1 SetEnvironment env2 187 Execute Command machine SetEnvironment env3 188 ${lines}= Execute Command env2 GetRegisteredSensorsNames 189 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 190 191Should Move Added Sensor Between Environments 192 Execute Command mach create 193 Execute Command emulation CreateEnvironment "env1" 194 Execute Command emulation CreateEnvironment "env2" 195 Execute Command machine SetEnvironment env1 196 Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x0, +0x4>" 197 Execute Command machine SetEnvironment env2 198 199 ${lines}= Execute Command env1 GetRegisteredSensorsNames 200 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 201 202 ${lines}= Execute Command env2 GetRegisteredSensorsNames 203 Should Contain ${lines} machine-0:sysbus.dummySensor1 204 205 206 207 208 209Should Not List Removed Sensor 210 Create Machine With Dummy Sensor dummySensor1 211 Execute Command emulation CreateEnvironment "env1" 212 Execute Command machine SetEnvironment env1 213 Execute Command machine UnregisterFromParent sysbus.dummySensor1 214 ${lines}= Execute Command env1 GetRegisteredSensorsNames 215 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 216 217Should Not List Sensors From Removed Machine 218 Create Machine With Dummy Sensor dummySensor1 219 Execute Command emulation CreateEnvironment "env1" 220 Execute Command machine SetEnvironment env1 221 Execute Command emulation RemoveMachine "machine-0" 222 ${lines}= Execute Command env1 GetRegisteredSensorsNames 223 Should Not Contain ${lines} machine-0:sysbus.dummySensor1 224 225Should Not List Removed Machine 226 Execute Command mach create 227 Execute Command emulation CreateEnvironment "env1" 228 Execute Command machine SetEnvironment env1 229 Execute Command emulation RemoveMachine "machine-0" 230 ${lines}= Execute Command env1 GetRegisteredMachineNames 231 Should Not Contain ${lines} machine-0 232 233Should Not List Sensors From Removed Machine In Different Environment 234 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 235 Execute Command emulation CreateEnvironment "env1" 236 Execute Command emulation CreateEnvironment "env2" 237 Execute Command machine SetEnvironment env1 238 Execute Command sysbus.dummySensor2 SetEnvironment env2 239 Execute Command emulation RemoveMachine "machine-0" 240 ${lines}= Execute Command env2 GetRegisteredMachineNames 241 Should Not Contain ${lines} machine-0:sysbus.dummySensor2 242 243Should Set Temperature After Sensor Removal 244 Create Machine With Multiple Dummy Sensors dummySensor1 dummySensor2 245 Execute Command emulation CreateEnvironment "env1" 246 Execute Command machine SetEnvironment env1 247 Execute Command machine UnregisterFromParent sysbus.dummySensor1 248 Execute Command env1 Temperature 55.5 249 ${temperature}= Execute Command sysbus.dummySensor2 Temperature 250 Should Contain ${temperature} 55.5 251 252Should Set Temperature On Readded Sensor 253 Create Machine With Dummy Sensor dummySensor1 254 Execute Command emulation CreateEnvironment "env1" 255 Execute Command machine SetEnvironment env1 256 Execute Command env1 Temperature 55.5 257 Execute Command machine UnregisterFromParent sysbus.dummySensor1 258 Execute Command machine LoadPlatformDescriptionFromString "dummySensor1: Sensors.DummySensor @ sysbus <0x0, +0x4>" 259 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 260 Should Contain ${temperature} 55.5 261 262Should Serialize And Set Temperature On Single Sensor 263 Create Machine With Dummy Sensor dummySensor1 264 Execute Command emulation CreateEnvironment "env1" 265 Execute Command machine SetEnvironment env1 266 Handle Hot Spot Serialize 267 Execute Command mach set 0 268 Execute Command env1 Temperature 55.5 269 ${temperature}= Execute Command sysbus.dummySensor1 Temperature 270 Should Contain ${temperature} 55.5 271