Revise energy scale (power) base test
Update test_escale_base.robot to:
- Resolve "Witherspoon phosphor-settings-manager:
Input parameter for PowerCap is invalid. Input: 500 Watts
is not in range 556..3389".
- Check and clear expected BMC error logs as a consequence
of deliberately setting a power limit out of range.
Resolves openbmc/openbmc-test-automation#204
Change-Id: Iadb159d67c1b604aca675e59e2b94cc5bb80ff70
Signed-off-by: Steven Sombar <ssombar@us.ibm.com>
diff --git a/tests/test_escale_base.robot b/tests/test_escale_base.robot
index d1ab4f5..8fca023 100755
--- a/tests/test_escale_base.robot
+++ b/tests/test_escale_base.robot
@@ -8,22 +8,24 @@
Resource ../lib/energy_scale_utils.robot
Resource ../lib/openbmc_ffdc.robot
+Resource ../lib/utils.robot
+Resource ../lib/logging_utils.robot
+Library ../lib/logging_utils.py
Suite Setup Suite Setup Execution
Test Teardown Test Teardown Execution
-
*** Variables ****
-${over_max_power} 3051
+${over_max_power} 3500
${max_power} 3050
${mid_power} 1950
-${min_power} 500
+${min_power} 600
${below_min_power} 499
${zero_power} 0
-# The power limits shown above are documented at
+# The power limits are documented in
# open-power/witherspoon-xml/master/witherspoon.xml.
@@ -107,6 +109,16 @@
Test Power Limit ${min_power} ${zero_power}
Test Power Limit ${max_power} ${over_max_power}
+ # There should be one error log entry for each attempt to set
+ # a power limit out of range.
+ ${error_logs}= Get Error Logs
+ ${num_logs}= Get Length ${error_logs}
+ Run Keyword If ${num_logs} != 3 Run Keywords
+ ... Print Error Logs ${error_logs}
+ ... AND Fail msg=Unexpected number of error logs.
+
+ Delete Error Logs
+
Test Power Limit
[Documentation] Set power and check limit.
@@ -118,11 +130,9 @@
Set DCMI Power Limit And Verify ${good_power}
- # Try to set out of bounds.
- ${expected_error}= Set Variable
- ... Failed setting dcmi power limit to ${outside_bounds_power} watts.
- Run Keyword and Expect Error ${expected_error}
- ... Set DCMI Power Limit And Verify ${outside_bounds_power}
+ # Attempt set power limit out of range.
+ ${data}= Create Dictionary data=${outside_bounds_power}
+ Write Attribute ${CONTROL_HOST_URI}power_cap PowerCap data=${data}
Suite Setup Execution
@@ -140,6 +150,8 @@
${initial_power_setting}= Get DCMI Power Limit
Set Suite Variable ${initial_power_setting} children=true
+ Delete Error Logs
+
Test Teardown Execution
[Documentation] Do the post test teardown.