blob: 08e662769551af88f1dfe91b699a781d9dffc3de [file] [log] [blame]
Sweta Potthuri39255032018-03-28 10:12:14 -05001*** Settings ***
2Documentation Secure boot related test cases.
3
Sweta Potthurid3c03432018-04-19 11:30:27 -05004# Test Parameters:
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -06005# SEL to PEL conversion:
6# https://github.com/openbmc/openbmc-test-automation/blob/master/docs/
7# openbmc_test_tools.md#converting-sels-to-readable-format
devindia54b13932019-03-20 04:38:08 -05008#
9# Definition of each partition acronyms
10# HBB: Hostboot Base
11# HBI: Hostboot Extended Image
12# HBRT: Hostboot Runtime
13# HBD: Hostboot Data
14# HBBL: Bostboot Base loader
15# SBE: Self Boot Engine
16# OCC: On Chip Controller
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -050017# PAYLOAD : OPAL Partition
18# HCODE : Hardware Code
19# BOOTKERNEL : OPAL Boot Kernel
20# WOFDATA : Workload Optimized Frequency Data
21# MEMD : Memory VPD
Sweta Potthurid3c03432018-04-19 11:30:27 -050022
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -060023Resource ../../lib/resource.robot
George Keishinga8b25492018-06-07 01:15:37 -050024Resource ../../lib/utils.robot
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060025Resource ../../lib/state_manager.robot
George Keishinga8b25492018-06-07 01:15:37 -050026Resource ../../lib/boot_utils.robot
Lakshminarayana R. Kammatheca4dce2019-03-27 12:28:06 -050027Resource ../../lib/secureboot/secureboot.robot
George Keishinga8b25492018-06-07 01:15:37 -050028Resource ../../lib/open_power_utils.robot
29Resource ../../lib/logging_utils.robot
30Resource ../../lib/openbmc_ffdc_methods.robot
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -060031Resource ../../lib/openbmc_ffdc.robot
32Resource ../../lib/openbmc_ffdc_utils.robot
Sweta Potthuri39255032018-03-28 10:12:14 -050033
George Keishinga8b25492018-06-07 01:15:37 -050034Library ../../lib/gen_misc.py
Lakshminarayana R. Kammatheca4dce2019-03-27 12:28:06 -050035Library ../../lib/secureboot/secureboot.py
Sweta Potthurid3c03432018-04-19 11:30:27 -050036
37Suite Setup Suite Setup Execution
Sweta Potthuri39255032018-03-28 10:12:14 -050038Test Setup Test Setup Execution
39Test Teardown Test Teardown Execution
40
41*** Variables ***
42
43${security_access_bit_mask} ${0xC000000000000000}
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060044# TODO: will enable this in next commit
45#${pnor_corruption_rc} SECUREBOOT::RC_ROM_VERIFY
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -060046${pnor_corruption_rc} 1E07
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -050047${bootkernel_corruption_rc} log=0xffffffffffff8160
Sweta Potthurid3c03432018-04-19 11:30:27 -050048${bmc_image_dir_path} /usr/local/share/pnor
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060049${bmc_guard_part_path} /var/lib/phosphor-software-manager/pnor/prsv/GUARD
devindia54b13932019-03-20 04:38:08 -050050${HB_PART_LIST} [HBB, HBD, HBI, HBRT, HBBL]
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -050051${NON_HB_PART_LIST} [SBE, OCC, HCODE, WOFDATA, MEMD, PAYLOAD]
52${MIXED_PART_LIST} [SBE, HBD, OCC, HBRT, HBBL, HCODE, WOFDATA, MEMD, PAYLOAD]
Sweta Potthuri39255032018-03-28 10:12:14 -050053
54*** Test Cases ***
55
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060056# All the test cases requires by default jumpers to be positioned
57# between 1 & 2. If this is not met test cases would fail
58# TODO:https://github.com/openbmc/openbmc-test-automation/issues/1644
59Validate Secure Cold Boot With TPM Policy Disabled
60 [Documentation] Validate secure cold boot with TPM policy disabled.
61 [Tags] Validate_Secure_Cold_Boot_With_TPM_Policy_Disabled
Sweta Potthuri39255032018-03-28 10:12:14 -050062
63 Validate Secure Boot With TPM Policy Enabled Or Disabled ${0}
64
65
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060066Validate Secure Cold Boot With TPM Policy Enabled
67 [Documentation] Validate secure cold boot with TPM policy enabled.
68 [Tags] Validate_Secure_Cold_Boot_With_TPM_Policy_Enabled
Sweta Potthuri39255032018-03-28 10:12:14 -050069
70 Validate Secure Boot With TPM Policy Enabled Or Disabled ${1}
71
72
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060073Secure Boot Violation Using Corrupt SBE Image On Cold Boot
74 [Documentation] Secure boot violation using corrupt SBE image on cold boot.
75 [Tags] Secure_Boot_Violation_Using_Corrupt_SBE_Image_On_Cold_Boot
Sweta Potthurid3c03432018-04-19 11:30:27 -050076
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -060077 Violate Secure Boot Using Corrupt Image
78 ... SBE ${pnor_corruption_rc} ${bmc_image_dir_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -050079
80
devindia54b13932019-03-20 04:38:08 -050081Secure Boot Violation Using Corrupt HBD Image On Cold Boot
82 [Documentation] Secure boot violation using corrupt HBD image on cold boot.
83 [Tags] Secure_Boot_Violation_Using_Corrupt_HBD_Image_On_Cold_Boot
84
85 Violate Secure Boot Using Corrupt Image
86 ... HBD ${pnor_corruption_rc} ${bmc_image_dir_path}
87
88Secure Boot Violation Using Corrupt HBB Image On Cold Boot
89 [Documentation] Secure boot violation using corrupt HBB image on cold boot.
90 [Tags] Secure_Boot_Violation_Using_Corrupt_HBB_Image_On_Cold_Boot
91
92 Violate Secure Boot Using Corrupt Image
93 ... HBB ${pnor_corruption_rc} ${bmc_image_dir_path}
94
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -050095
devindia54b13932019-03-20 04:38:08 -050096Secure Boot Violation Using Corrupt HBBL Image On Cold Boot
97 [Documentation] Secure boot violation using corrupt HBBL image on cold boot.
98 [Tags] Secure_Boot_Violation_Using_Corrupt_HBBL_Image_On_Cold_Boot
99
100 Violate Secure Boot Using Corrupt Image
101 ... HBBL ${pnor_corruption_rc} ${bmc_image_dir_path}
102
103
104Secure Boot Violation Using Corrupt HBI Image On Cold Boot
105 [Documentation] Secure boot violation using corrupt HBI image on cold boot.
106 [Tags] Secure_Boot_Violation_Using_Corrupt_HBI_Image_On_Cold_Boot
107
108 Violate Secure Boot Using Corrupt Image
109 ... HBI ${pnor_corruption_rc} ${bmc_image_dir_path}
110
111
112Secure Boot Violation Using Corrupt HBRT Image On Cold Boot
113 [Documentation] Secure boot violation using corrupt HBRT image on cold boot.
114 [Tags] Secure_Boot_Violation_Using_Corrupt_HBRT_Image_On_Cold_Boot
115
116 Violate Secure Boot Using Corrupt Image
117 ... HBRT ${pnor_corruption_rc} ${bmc_image_dir_path}
118
119
120Secure Boot Violation Using Corrupt OCC Image On Cold Boot
121 [Documentation] Secure boot violation using corrupt OCC image on cold boot.
122 [Tags] Secure_Boot_Violation_Using_Corrupt_OCC_Image_On_Cold_Boot
123
124 Violate Secure Boot Using Corrupt Image
125 ... OCC ${pnor_corruption_rc} ${bmc_image_dir_path}
126
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -0500127
128Secure Boot Violation Using Corrupt HCODE Image On Cold Boot
129 [Documentation] Secure boot violation using corrupt HCODE image on cold boot.
130 [Tags] Secure_Boot_Violation_Using_Corrupt_HCODE_Image_On_Cold_Boot
131
132 Violate Secure Boot Using Corrupt Image
133 ... HCODE ${pnor_corruption_rc} ${bmc_image_dir_path}
134
135
136Secure Boot Violation Using Corrupt WOFDATA Image On Cold Boot
137 [Documentation] Secure boot violation using corrupt HCODE image on cold boot.
138 [Tags] Secure_Boot_Violation_Using_Corrupt_WOFDATA_Image_On_Cold_Boot
139
140 Violate Secure Boot Using Corrupt Image
141 ... WOFDATA ${pnor_corruption_rc} ${bmc_image_dir_path}
142
143
144Secure Boot Violation Using Corrupt BOOTKERNEL Image On Cold Boot
145 [Documentation] Secure boot violation using corrupt BOOTKERNEL image on cold boot.
146 [Tags] Secure_Boot_Violation_Using_Corrupt_BOOTKERNEL_Image_On_Cold_Boot
147
148 Violate Secure Boot Using Corrupt Image
149 ... BOOTKERNEL ${bootkernel_corruption_rc} ${bmc_image_dir_path}
150
151
152Secure Boot Violation Using Corrupt MEMD Image On Cold Boot
153 [Documentation] Secure boot violation using corrupt MEMD image on cold boot.
154 [Tags] Secure_Boot_Violation_Using_Corrupt_MEMD_Image_On_Cold_Boot
155
156 Violate Secure Boot Using Corrupt Image
157 ... MEMD ${pnor_corruption_rc} ${bmc_image_dir_path}
158
159
160Secure Boot Violation Using Corrupt PAYLOAD Image On Cold Boot
161 [Documentation] Secure boot violation using corrupt PAYLOAD image on cold boot.
162 [Tags] Secure_Boot_Violation_Using_Corrupt_PAYLOAD_Image_On_Cold_Boot
163
164 Violate Secure Boot Using Corrupt Image
165 ... PAYLOAD ${pnor_corruption_rc} ${bmc_image_dir_path}
166
167
Sweta Potthuri39255032018-03-28 10:12:14 -0500168*** Keywords ***
169
Lakshminarayana R. Kammatheca4dce2019-03-27 12:28:06 -0500170Validate Secure Boot Setup
171 [Documentation] Validates setup to make sure it's secureboot run capable.
172
173 # Check the jumper position and Security settings before moving ahead.
174 ${num_procs} ${secureboot_state} ${jumper_state}= Get Secure Boot Info
175
176 Rprint Vars secureboot_state jumper_state
177
178 Should Be True ${secureboot_state} == True and ${jumper_state} == False
Lakshminarayana R. Kammath0d7b6a62019-04-02 00:46:58 -0500179 ... msg=Jumper is on while secureboot is disabled. Put the jumpers between pins 2 and 3.
Lakshminarayana R. Kammatheca4dce2019-03-27 12:28:06 -0500180
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600181Violate Secure Boot Using Corrupt Image
182 [Documentation] Cause secure boot violation during cold boot
183 ... with corrupted image.
184 [Arguments] ${partition} ${error_rc} ${bmc_image_dir_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500185
Gunnar Mills7732c7e2018-08-14 11:54:24 -0500186 # Description of argument(s):
Sweta Potthurid3c03432018-04-19 11:30:27 -0500187 # partition The partition which is to be corrupted
188 # (e.g. "SBE", "HBI", "HBB", "HBRT", "HBBL", "OCC").
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600189 # error_rc The RC that is expected as a
Sweta Potthurid3c03432018-04-19 11:30:27 -0500190 # result of the secure boot violation
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600191 # (e.g. "SECUREBOOT::RC_ROM_VERIFY").
Sweta Potthurid3c03432018-04-19 11:30:27 -0500192 # bmc_image_dir_path BMC image path.
193
194 Set And Verify TPM Policy ${1}
195
196 # Descipiton:
197 # Cause a secure boot violation by copying an BMC image file to the
198 # target BMC and then starting a power on.
199 # This action should result in:
200 # 1) an error log entry
201 # 2) the system going to "Quiesced" state.
202
203 # Load corrupted image to /usr/local/share/pnor.
204 Open Connection For SCP
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600205
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -0500206 # Some times it is observed that bigger size files doesn't get copied.
207 # Our intention here is to test bad image. Even if it is truncated/partial,
208 # that should be fine
209 Run Keyword And Ignore Error scp.Put File
devindia54b13932019-03-20 04:38:08 -0500210 ... ${ENV_SB_CORRUPTED_BIN_PATH}/${partition} ${bmc_image_dir_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500211
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600212 ${error_log_path}= Catenate ${SB_LOG_DIR_PATH}
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600213 Create Directory ${error_log_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500214
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600215 Set Global Variable ${error_log_path}
216 Log ${error_log_path}
217
218 # Starting a power on.
Lakshminarayana R. Kammath4f858df2019-07-15 02:18:03 -0500219 BMC Execute Command /usr/bin/obmcutil poweron
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600220 Wait Until Keyword Succeeds 15 min 15 sec Error Logs Should Exist
221
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600222 # Check for eSEL.
devindia54b13932019-03-20 04:38:08 -0500223 # Expected behavior is that the error occurs early in the boot process,
224 # therefore, no entry in the error log and nothing to decode.
225 # The 1E07 error is written to PNOR & then goes into Quiesced state.
226 # On the next valid boot, the error log will be sent to BMC &
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600227 # seen on SOL console.
228 # We won't see any ESEL's for HBB, HBD, HBI or BOOTKERNEL because
229 # Hostboot has no mechanism to send an eSEL when it is dying.
230 Run Keyword If '${partition}' not in ['HBB', 'HBD', 'HBI', 'BOOTKERNEL']
231 ... Wait Until Keyword Succeeds 5 min 5 sec
232 ... Collect Error Logs and Verify SRC ${error_rc} ${error_log_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500233
234 # Remove the file from /usr/local/share/pnor/.
235 BMC Execute Command rm -rf ${bmc_image_dir_path}*
236
237 # Check if system reaches quiesce state.
devindia54b13932019-03-20 04:38:08 -0500238 # Default system state will be power off at the end of the verification.
Sweta Potthurid3c03432018-04-19 11:30:27 -0500239 Run Keywords
240 ... Wait Until Keyword Succeeds 3 min 5 sec Is Host Quiesced AND
241 ... Recover Quiesced Host
242
devindia54b13932019-03-20 04:38:08 -0500243 # We will retry boot with corrupted partition removed
244 # SOL console should show previous boot fail message (1E07) on current boot
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600245 # HBB, HBD or HBI corruption will never get far enough to log into PNOR.
devindia54b13932019-03-20 04:38:08 -0500246 # so, it should be removed from consideration for this check
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600247 Run Keyword If '${partition}' in ['HBB', 'HBD', 'HBI']
devindia54b13932019-03-20 04:38:08 -0500248 ... Log To Console No more action on ${partition} corruption required.
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600249 ... ELSE IF '${partition}' in ['HBRT']
devindia54b13932019-03-20 04:38:08 -0500250 ... Run Keywords
251 ... REST Power On stack_mode=skip quiet=1 AND
252 ... Wait Until Keyword Succeeds 5 min 5 sec Error Logs Should Exist AND
253 ... Get And Verify Partition Corruption ${partition} ${sol_log_file_path} AND
254 ... REST Power Off stack_mode=skip quiet=1
Sweta Potthurid3c03432018-04-19 11:30:27 -0500255
256Collect Error Logs and Verify SRC
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600257 [Documentation] Verify error log entry & signature description.
258 [Arguments] ${error_rc} ${log_prefix}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500259
260 # Description of argument(s):
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600261 # error_rc Error log signature description.
262 # log_prefix Log path prefix.
Sweta Potthurid3c03432018-04-19 11:30:27 -0500263
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600264 Error Logs Should Exist
Sweta Potthurid3c03432018-04-19 11:30:27 -0500265
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600266 Collect eSEL Log ${log_prefix}
267 ${error_log_file_path}= Catenate ${log_prefix}esel.txt
268 ${rc} ${output}= Run and Return RC and Output
269 ... grep -i ${error_rc} ${error_log_file_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500270 Should Be Equal ${rc} ${0}
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600271 Should Not Be Empty ${output}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500272
Sweta Potthuri39255032018-03-28 10:12:14 -0500273Get And Verify Security Access Bit
274 [Documentation] Get and verify security access bit.
275 [Arguments] ${sol_log_file_path}
276
277 # Description of argument(s):
278 # sol_log_file_path The path to the file containing SOL data
279 # which was collected during a REST Power On.
280
281 # Sample output:
282 # 19.68481|SECURE|Security Access Bit> 0xC000000000000000
283
284 ${cmd}= Catenate
285 ... grep "Security Access Bit" ${sol_log_file_path} | awk '{ print $4 }'
286 ${rc} ${security_access_bit_str}= Run and Return RC and Output ${cmd}
287 Should Be Equal ${rc} ${0}
288 ... msg=Return code from ${cmd} not zero.
289
290 # Verify the value of "Security Access Bit".
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600291 # If fails, probable issue is Jumper position.
Sweta Potthuri39255032018-03-28 10:12:14 -0500292
293 ${security_access_bit}= Convert to Integer ${security_access_bit_str}
294 ${result}= Evaluate ${security_access_bit_mask} & ${security_access_bit}
295 Should Be Equal ${result} ${security_access_bit_mask}
296 ... msg=System is not booted in secure mode. values=False
297
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600298Get And Verify Partition Corruption
299 [Documentation] Get and verify partition corruption.
devindia54b13932019-03-20 04:38:08 -0500300 [Arguments] ${partition} ${sol_log_file_path}
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600301
302 # Description of argument(s):
devindia54b13932019-03-20 04:38:08 -0500303 # partition The partition which is to be corrupted
304 # (e.g. "SBE", "HBI", "HBB", "HBRT", "HBBL", "OCC").
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600305 # sol_log_file_path The path to the file containing SOL data
306 # which was collected during a REST Power On.
307
308 # Sample output:
309 # 44.47498|secure|Secureboot Failure plid = 0x90000007, rc = 0x1E07
devindia54b13932019-03-20 04:38:08 -0500310 # OR
311 # 14.94315|Error reported by secure (0x1E00) PLID 0x90000002
312 # 14.99659| ROM_verify() Call Failed
313 # 14.99659| ModuleId 0x03 SECUREBOOT::MOD_SECURE_ROM_VERIFY
314 # 14.99660| ReasonCode 0x1e07 SECUREBOOT::RC_ROM_VERIFY
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -0500315 # OR
316 # 113.150162849,0] STB: BOOTKERNEL verification FAILED. log=0xffffffffffff8160
317 #
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600318
devindia54b13932019-03-20 04:38:08 -0500319 ${cmd}= Run Keyword If '${partition}' in '${MIXED_PART_LIST}'
320 ... Catenate
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600321 ... grep -i "Secureboot Failure" ${sol_log_file_path} | awk '{ print $8 }'
devindia54b13932019-03-20 04:38:08 -0500322 ... ELSE IF '${partition}' == 'HBI'
323 ... Catenate
324 ... grep -i "ReasonCode" ${sol_log_file_path} | awk '{ print $3 }'
Lakshminarayana R. Kammath2c0f28e2019-04-12 12:59:34 -0500325 ... ELSE IF '{$partition}' == 'BOOTKERNEL'
326 ... Catenate
327 ... grep -i "STB: BOOTKERNEL verification FAILED" ${sol_log_file_path} | awk '{ print $7}'
devindia54b13932019-03-20 04:38:08 -0500328
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600329 ${rc} ${corruption_rc_str}= Run and Return RC and Output ${cmd}
330 Should Be Equal ${rc} ${0}
331 ... msg=Return code from ${cmd} not zero.
332
333 # Verify the RC 0x1E07 from sol output".
devindia54b13932019-03-20 04:38:08 -0500334 Should Be Equal As Strings
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600335 ... ${corruption_rc_str} 0x${pnor_corruption_rc} ignore_case=True
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600336 ... msg=SB violation due to PNOR partition corruption not reported. values=False
337
Sweta Potthuri39255032018-03-28 10:12:14 -0500338
339Validate Secure Boot With TPM Policy Enabled Or Disabled
340 [Documentation] Validate secure boot with TPM policy enabled or disabled.
341 [Arguments] ${tpm_policy}
342
343 # Description of argument(s):
344 # tpm_policy Enable-0 or Disable-1.
345
346 Set And Verify TPM Policy ${tpm_policy}
347 REST Power On quiet=1
348 Validate Secure Boot ${sol_log_file_path}
349
350
351Validate Secure Boot
352 [Documentation] Validate secure boot.
353 [Arguments] ${sol_log_file_path}
354
355 # Description of argument(s):
356 # sol_log_file_path The path to the file containing SOL data
357 # which was collected during a REST Power On.
358
359 Get And Verify Security Access Bit ${sol_log_file_path}
360 Error Logs Should Not Exist
361 REST Verify No Gard Records
362
363
Sweta Potthurid3c03432018-04-19 11:30:27 -0500364Suite Setup Execution
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600365 [Documentation] Suite Setup Execution.
Sweta Potthurid3c03432018-04-19 11:30:27 -0500366
Sweta Potthurid3c03432018-04-19 11:30:27 -0500367 ${bmc_image_dir_path}= Add Trailing Slash ${bmc_image_dir_path}
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600368
369 ${SB_LOG_DIR_PATH}= Catenate ${EXECDIR}/SB_logs/
370 Set Suite Variable ${SB_LOG_DIR_PATH}
371
372 Create Directory ${SB_LOG_DIR_PATH}
373 Empty Directory ${SB_LOG_DIR_PATH}
Lakshminarayana R. Kammath077fbf92019-02-20 11:15:18 -0600374
Sweta Potthurid3c03432018-04-19 11:30:27 -0500375 Set Global Variable ${bmc_image_dir_path}
376 Log ${bmc_image_dir_path}
377 BMC Execute Command rm -rf ${bmc_image_dir_path}*
378
Lakshminarayana R. Kammath6c918292019-02-22 05:05:22 -0600379 Set Global Variable ${bmc_guard_part_path}
380 Log ${bmc_guard_part_path}
381 BMC Execute Command rm -rf ${bmc_guard_part_path}
Lakshminarayana R. Kammath077fbf92019-02-20 11:15:18 -0600382
devindia54b13932019-03-20 04:38:08 -0500383 # All the corrupted binaries will go in here
384 # Run this as input param
Lakshminarayana R. Kammathf023c952019-11-05 11:56:26 -0600385 Valid Path ENV_SB_CORRUPTED_BIN_PATH
386 Valid Path ESEL_BIN_PATH
387 Set Environment Variable PATH %{PATH}:${ENV_SB_CORRUPTED_BIN_PATH}:${ESEL_BIN_PATH}
devindia54b13932019-03-20 04:38:08 -0500388
Sweta Potthurid3c03432018-04-19 11:30:27 -0500389
Sweta Potthuri39255032018-03-28 10:12:14 -0500390Test Setup Execution
391 [Documentation] Test setup execution.
392
393 ${timestamp}= Get Current Date result_format=%Y%m%d%H%M%S
394 ${sol_log_file_path}= Catenate ${EXECDIR}/Secure_SOL${timestamp}
395 Start SOL Console Logging ${sol_log_file_path}
396 Set Suite Variable ${sol_log_file_path}
397
Lakshminarayana R. Kammatheca4dce2019-03-27 12:28:06 -0500398 REST Power On stack_mode=skip quiet=1
399
400 # Validate the secureboot setup. If not met with required state then, fail.
401 Validate Secure Boot Setup
402
Sweta Potthuri39255032018-03-28 10:12:14 -0500403 REST Power Off stack_mode=skip quiet=1
404 Delete Error Logs And Verify
Lakshminarayana R. Kammath077fbf92019-02-20 11:15:18 -0600405
Sweta Potthuri39255032018-03-28 10:12:14 -0500406
Sweta Potthuri39255032018-03-28 10:12:14 -0500407Test Teardown Execution
408 [Documentation] Test teardown execution.
409
410 Stop SOL Console Logging
411 Run rm -rf ${sol_log_file_path}
Sweta Potthurid3c03432018-04-19 11:30:27 -0500412
devindia54b13932019-03-20 04:38:08 -0500413 # Collect FFDC on failure
414 FFDC On Test Case Fail
415
Sweta Potthurid3c03432018-04-19 11:30:27 -0500416 # Removing the corrupted file from BMC.
417 BMC Execute Command rm -rf ${bmc_image_dir_path}*