blob: ef02930dc9c4bf43bfecd70a3571168d9a65348a [file] [log] [blame]
Sridevi Ramesh1495bc42020-02-04 03:13:33 -06001*** Settings ***
2
3Documentation Module to test PLDM BIOS commands.
4
5Library Collections
6Library String
7Library ../lib/pldm_utils.py
8Variables ../data/pldm_variables.py
9Resource ../lib/openbmc_ffdc.robot
10
11Test Setup Printn
12Test Teardown FFDC On Test Case Fail
13Suite Teardown PLDM BIOS Suite Cleanup
14
15*** Test Cases ***
16
17Verify GetDateTime
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060018 [Documentation] Verify host date & time.
19 [Tags] Verify_GetDateTime
20
21 # Example output:
22 # YYYY-MM-DD HH:MM:SS - 09-02-2020 16:51:23
23
24 ${pldm_output}= Pldmtool bios GetDateTime
25 @{date_time}= Split String ${pldm_output} ${SPACE}
26 @{time}= Split String ${date_time}[1] :
27
28 # verify date & time.
29 ${current_date_time}= Get Current Date UTC exclude_millis=True
30 Should Contain ${current_date_time} ${date_time[0]}
31 Should Contain ${current_date_time} ${time[0]}
32
33
34Verify SetDateTime
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060035 [Documentation] Verify set date & time for the host.
36 [Tags] Verify_SetDateTime
37
38 # Example output:
39 # SetDateTime: SUCCESS
40
41 ${current_date_time}= Get Current Date UTC exclude_millis=True
42
43 ${date}= Add Time To Date ${current_date_time} 400 days exclude_millis=True
44 ${upgrade_date}= Evaluate re.sub(r'-* *:*', "", '${date}') modules=re
45
46 ${time}= Add Time To Date ${current_date_time} 01:01:00 exclude_millis=True
47 ${upgrade_time}= Evaluate re.sub(r'-* *:*', "", '${time}') modules=re
48
49 # Set date.
50 ${cmd_set_date}= Evaluate $CMD_SETDATETIME % '${upgrade_date}'
51 ${pldm_output}= Pldmtool ${cmd_set_date}
Michael Walsh06de1f72020-02-17 14:28:24 -060052 Valid Value pldm_output['setdatetime'] ['SUCCESS']
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060053
54 # Set time.
55 ${cmd_set_time}= Evaluate $CMD_SETDATETIME % '${upgrade_time}'
56 ${pldm_output}= Pldmtool ${cmd_set_time}
Michael Walsh06de1f72020-02-17 14:28:24 -060057 Valid Value pldm_output['setdatetime'] ['SUCCESS']
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060058
Sridevi Rameshfe52e402020-02-05 00:15:24 -060059
60Verify GetBIOSTable For StringTable
61 [Documentation] Verify GetBIOSTable for table type string table.
62 [Tags] Verify_GetBIOSTable_For_StringTable
63
64 # pldm_output:
65 # [biosstringhandle]: BIOSString
66 # [0]: Allowed
67 # [1]: Disabled
68 # [2]: Enabled
69 # [3]: Not Allowed
70 # [4]: Perm
71 # [5]: Temp
72 # [6]: pvm-fw-boot-side
73 # [7]: pvm-inband-code-update
74 # [8]: pvm-os-boot-side
75 # [9]: pvm-pcie-error-inject
76 # [10]: pvm-surveillance
77 # [11]: pvm-system-name
78 # [12]: vmi-if-count
79
80 ${pldm_output}= Pldmtool bios GetBIOSTable -t 0
81 Rprint Vars pldm_output
82 # TODO: Implement verification for GetBIOSTable response message.
83 # Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETBIOSTABLE_STRTABLE}
84
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060085*** Keywords ***
86
87PLDM BIOS Suite Cleanup
Sridevi Ramesh1495bc42020-02-04 03:13:33 -060088 [Documentation] Perform pldm BIOS suite cleanup.
89
90 ${result}= Get Current Date UTC exclude_millis=True
91 ${current_date_time}= Evaluate re.sub(r'-* *:*', "", '${result}') modules=re
92 ${cmd_set_date_time}= Evaluate $CMD_SETDATETIME % '${current_date_time}'
93 ${pldm_output}= Pldmtool ${cmd_set_date_time}
Michael Walsh06de1f72020-02-17 14:28:24 -060094 Valid Value pldm_output['setdatetime'] ['SUCCESS']