Fix for power supply test when host is powered on
Change-Id: Ibf194b57243e413d4f422df82ba5e47a042a24df
Signed-off-by: Marissa Garza <garzam@us.ibm.com>
Signed-off-by: William Toth <wtoth@us.ibm.com>
diff --git a/tests/test_power_supply.robot b/tests/test_power_supply.robot
index 75879ad..f2c0e94 100644
--- a/tests/test_power_supply.robot
+++ b/tests/test_power_supply.robot
@@ -106,23 +106,29 @@
# power_paths A list of power paths (example list element
# "/org/open_power/sensors/aggregation/per_30s/ps0_input_power/average").
+ Reset 30s Aggregation Power Readings
+ # sleep for 3 minutes to get 6-7 readings.
+ Sleep 3m
+
# Check for "average" aggregation.
- :FOR ${power_path} IN @{power_paths[0]}
- \ ${averages}= Get Sensors Aggregation Data ${power_path}
- \ ${max} ${min}= Evaluate (max(@{averages}), min(@{averages}))
- \ Should Be True ${max} < ${upper_power_limit}
- ... msg=Wattage ${max} crossed ${upper_power_limit}.
- \ Should Be True ${min} >= ${lower_power_limit}
- ... msg=Wattage ${min} below ${lower_power_limit}.
+ FOR ${power_path} IN @{power_paths[0]}
+ ${averages}= Get Sensors Aggregation Data ${power_path}
+ ${max} ${min}= Evaluate (max(@{averages}), min(@{averages}))
+ Should Be True ${max} < ${upper_power_limit}
+ ... msg=Wattage ${max} crossed ${upper_power_limit}.
+ Should Be True ${min} >= ${lower_power_limit}
+ ... msg=Wattage ${min} below ${lower_power_limit}.
+ END
# Check for "maximum" aggregation.
- :FOR ${power_path} IN @{power_paths[1]}
- \ ${maximums}= Get Sensors Aggregation Data ${power_path}
- \ ${max} ${min}= Evaluate (max(@{maximums}), min(@{maximums}))
- \ Should Be True ${max} < ${upper_power_limit}
- ... msg=Wattage ${max} crossed ${upper_power_limit}.
- \ Should Be True ${min} >= ${lower_power_limit}
- ... msg=Wattage ${min} below ${lower_power_limit}.
+ FOR ${power_path} IN @{power_paths[1]}
+ ${maximums}= Get Sensors Aggregation Data ${power_path}
+ ${max} ${min}= Evaluate (max(@{maximums}), min(@{maximums}))
+ Should Be True ${max} < ${upper_power_limit}
+ ... msg=Wattage ${max} crossed ${upper_power_limit}.
+ Should Be True ${min} >= ${lower_power_limit}
+ ... msg=Wattage ${min} below ${lower_power_limit}.
+ END
# Every 30 seconds the power wattage data is updated.
Sleep ${power_data_collection_interval}s
@@ -141,16 +147,28 @@
Sleep ${power_data_collection_interval}s
# Check for "average" aggregation.
- :FOR ${power_path} IN @{power_paths[0]}
- \ ${averages}= Get Sensors Aggregation Data ${power_path}
- \ Should Be True ${averages[0]} < ${lower_power_limit}
- ... msg=Wattage ${averages[0]} more than ${lower_power_limit}.
+ FOR ${power_path} IN @{power_paths[0]}
+ ${averages}= Get Sensors Aggregation Data ${power_path}
+ Should Be True ${averages[0]} < ${lower_power_limit}
+ ... msg=Wattage ${averages[0]} more than ${lower_power_limit}.
+ END
# Check for "maximum" aggregation.
- :FOR ${power_path} IN @{power_paths[1]}
- \ ${maximums}= Get Sensors Aggregation Data ${power_path}
- \ Should Be True ${maximums[0]} < ${lower_power_limit}
- ... msg=Wattage ${maximums[0]} more than ${lower_power_limit}.
+ FOR ${power_path} IN @{power_paths[1]}
+ ${maximums}= Get Sensors Aggregation Data ${power_path}
+ Should Be True ${maximums[0]} < ${lower_power_limit}
+ ... msg=Wattage ${maximums[0]} more than ${lower_power_limit}.
+ END
+
+
+Reset 30s Aggregation Power Readings
+ [Documentation] Reset 30s Aggregation Power Readings to ensure readings
+ ... are collected after Power Supplies are done powering up.
+
+ BMC Execute Command /bin/systemctl restart power-supply-monitor@0.service
+ BMC Execute Command /bin/systemctl restart power-supply-monitor@1.service
+ # wait for services to restart.
+ Sleep 10s
Set Power Supply Present