blob: 71395f79b95264a38ec896b77bac76198ff23382 [file] [log] [blame]
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -05001*** Settings ***
2Documentation Update the BMC code on a target BMC.
3... Execution Method:
4... python -m robot -v OPENBMC_HOST:<hostname>
5... -v IMAGE_FILE_PATH:<path/*.tar> bmc_code_update.robot
6
7Library ../../lib/code_update_utils.py
8Variables ../../data/variables.py
9Resource ../../lib/boot_utils.robot
10Resource code_update_utils.robot
11Resource ../../lib/code_update_utils.robot
George Keishing1eb85f52017-08-30 22:55:13 -050012Resource ../../lib/openbmc_ffdc.robot
13Resource ../../lib/dump_utils.robot
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -050014
George Keishing00715492017-08-18 11:46:37 -050015Test Teardown Code Update Test Teardown
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -050016
17*** Variables ***
18
19${QUIET} ${1}
20${IMAGE_FILE_PATH} ${EMPTY}
Charles Paul Hoferc1fa2bc2017-08-18 16:44:03 -050021${ALTERNATE_IMAGE_FILE_PATH} ${EMPTY}
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -050022
23*** Test Cases ***
24
25REST BMC Code Update
26 [Documentation] Do a BMC code update by uploading image on BMC via REST.
27 [Tags] REST_BMC_Code_Update
George Keishing1eb85f52017-08-30 22:55:13 -050028 [Setup] Code Update Setup
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -050029
30 Upload And Activate Image ${IMAGE_FILE_PATH}
31 OBMC Reboot (off)
32
33
Charles Paul Hoferc1fa2bc2017-08-18 16:44:03 -050034Upload And Activate Multiple BMC Images
35 [Documentation] Upload another BMC image and verify that its state is
36 ... different from all others.
37 [Tags] Upload_And_Activate_Multiple_BMC_Images
38 [Template] Activate Image And Verify No Duplicate Priorities
39 [Setup] Upload And Activate Multiple BMC Images Setup
40
41 # Image File Path Image Purpose
42 ${ALTERNATE_IMAGE_FILE_PATH} ${VERSION_PURPOSE_BMC}
43
44
Charles Paul Hofer42f17462017-09-12 14:09:32 -050045BMC Set Priority To Invalid Values
46 [Documentation] Attempt to set the priority of an image to an invalid
47 ... value and expect an error.
48 [Tags] BMC_Set_Priority_To_Invalid_Values
49 [Template] Set Priority To Invalid Value And Expect Error
50
51 # Version Type Priority
52 ${VERSION_PURPOSE_BMC} ${-1}
53 ${VERSION_PURPOSE_BMC} ${256}
54
55
Charles Paul Hofer9f74d3a2017-08-18 09:54:28 -050056Delete BMC Image
57 [Documentation] Delete a BMC image from the BMC flash chip.
58 [Tags] Delete_BMC_Image
59
60 ${software_object}= Get Non Running BMC Software Object
61 Delete Image And Verify ${software_object} ${VERSION_PURPOSE_BMC}
Charles Paul Hoferc1fa2bc2017-08-18 16:44:03 -050062
63
64*** Keywords ***
65
66Upload And Activate Multiple BMC Images Setup
67 [Documentation] Check that the ALTERNATE_FILE_PATH variable is set.
68
George Keishing1eb85f52017-08-30 22:55:13 -050069 Should Not Be Empty ${ALTERNATE_IMAGE_FILE_PATH}
70
71Code Update Setup
72 [Documentation] Do code update test case setup.
73 # - Clean up all existing BMC dumps.
74
75 Delete All Dumps
George Keishing00715492017-08-18 11:46:37 -050076
77Code Update Test Teardown
78 [Documentation] Do code update test case teardown.
79 # 1. Collect FFDC if test case failed.
80 # 2. Collect FFDC if test PASS but error log exists.
81
82 FFDC On Test Case Fail
83 Run Keyword If '${TEST_STATUS}' == 'PASS' Check Error And Collect FFDC