blob: 2525e22480def6c8175a53d176425eee14985198 [file] [log] [blame]
Steven Sombaraaf72c42017-09-05 12:02:00 -05001*** Settings ***
2
3Documentation Compare processor speed in turbo and non-turbo modes.
4
5# Test Parameters:
6# OPENBMC_HOST The BMC host name or IP address.
7# OS_HOST The OS host name or IP Address.
8# OS_USERNAME The OS login userid (usually root).
9# OS_PASSWORD The password for the OS login.
10
11Resource ../syslib/utils_os.robot
12Resource ../lib/boot_utils.robot
13Library ../syslib/utils_keywords.py
14Variables ../data/variables.py
15Library ../lib/bmc_ssh_utils.py
16Resource ../lib/connection_client.robot
17Resource ../lib/resource.txt
18Resource ../lib/rest_client.robot
19Resource ../lib/utils.robot
20
21
22Test Setup Pre Test Case Execution
23Test Teardown Post Test Case Execution
24
25
26*** Test Cases ***
27
28Turbo And Non-Turbo Processor Speed Test
29 [Documentation] Compare processor turbo and non-turbo speeds.
30 [Tags] Turbo_And_Non-Turbo_Processor_Speed_Test
31
32 Set Turbo Setting Via REST True
33 ${mode}= Read Turbo Setting Via REST
34 Should Be Equal ${mode} True
35 ... msg=Issued call to set Turbo mode but it was not set.
36
37 # The OS governor determines the maximum processor speed at boot-up time.
38 REST Power On stack_mode=skip
39 ${proc_speed_turbo}= Get Processor Max Speed Setting
40
41 Smart Power Off
42
43 Set Turbo Setting Via REST False
44 ${mode}= Read Turbo Setting Via REST
45 Should Be Equal ${mode} False
46 ... msg=Issued call to disable Turbo mode but it was not disabled.
47
48 REST Power On stack_mode=skip
49 ${proc_speed_non_turbo}= Get Processor Max Speed Setting
50
51 Rprintn
52 Rpvars proc_speed_turbo proc_speed_non_turbo
53
54 ${err_msg}= Catenate Reported turbo processor speed should be
55 ... greater than non-turbo speed.
56 Should Be True ${proc_speed_turbo} > ${proc_speed_non_turbo}
57 ... msg=${err_msg}
58
59
60*** Keywords ***
61
62Get Processor Max Speed Setting
63 [Documentation] Get processor maximum speed setting from the OS.
64 # - On the OS run: ppc64_cpu --frequency
65 # - Return the maximum frequency value reported.
66 # The command ppc64_cpu is provided in both Ubuntu and RHEL on Power.
67
68 ${command}= Set Variable
69 ... ppc64_cpu --frequency | grep max | cut -f 2 | cut -d ' ' -f 1
70 # The ppc64_cpu --frequency command returns min, max, and average
71 # cpu frequencies. For example,
72 # min: 2.500 GHz (cpu 143)
73 # max: 2.700 GHz (cpu 1)
74 # avg: 2.600 GHz
75 # The ${command} selects the max: line, selects only the
76 # 2.700 GHz (cpu 1) part, then selects the 2.700 number.
77
78 # Get the maximum processor frequency reported.
79 ${output} ${stderr} ${rc}= OS Execute Command
80 ... ${command} print_out=${1}
81
82 ${frequency}= Convert To Number ${output}
83 [Return] ${frequency}
84
85
86Pre Test Case Execution
87 [Documentation] Do the pre test setup.
88 # Save the initial system turbo setting.
89 # Start (setup) console logging.
90
91 ${initial_turbo_setting}= Read Turbo Setting Via REST
92 Set Suite Variable ${initial_turbo_setting} children=true
93 Start SOL Console Logging
94
95
96Post Test Case Execution
97 [Documentation] Do the post test teardown.
98 # - Restore original turbo setting on the system.
99 # - Capture FFDC on test failure.
100 # - Power off the OS and close all open SSH connections.
101
102 Set Turbo Setting Via REST ${initial_turbo_setting}
103
104 FFDC On Test Case Fail
105 Smart Power Off
106 Close All Connections