xref: /openbmc/openbmc-test-automation/extended/test_bios_update.robot (revision aca557110becf3f4d45391b6f70d0f52f1046f4e)
1*** Settings ***
2Documentation     Update the PNOR image on the host for
3...               hostboot CI purposes.
4
5Library           OperatingSystem
6Resource          ../lib/utils.robot
7Resource          ../lib/connection_client.robot
8Resource          ../lib/openbmc_ffdc.robot
9
10Test Setup        Start SOL Console Logging
11Test Teardown     FFDC On Test Case Fail
12Suite Teardown    Collect SOL Log
13
14*** Variables ***
15
16*** Test Cases ***
17
18Host BIOS Update And Boot
19    [Tags]    open-power
20    [Documentation]   Update PNOR image and verify that
21    ...               host boots normally.
22
23    Validate Parameters
24    Prepare BMC For Update
25    Update PNOR Image
26    Validate IPL
27
28*** Keywords ***
29
30Prepare BMC For Update
31    [Documentation]  Prepare system for PNOR update.
32
33    Initiate Power Off
34    Trigger Warm Reset
35    Check If BMC is Up    10 min   10 sec
36
37    Wait Until Keyword Succeeds
38    ...    10 min   10 sec   Verify BMC State   BMC_READY
39
40    Clear BMC Record Log
41
42
43Update PNOR Image
44    [Documentation]  Copy the PNOR image to the BMC /tmp dir and flash it.
45
46    Copy PNOR to BMC
47    ${pnor_path}  ${pnor_basename}=   Split Path    ${PNOR_IMAGE_PATH}
48    Flash PNOR   /tmp/${pnor_basename}
49    Wait Until Keyword Succeeds
50    ...  7 min    10 sec    Is PNOR Flash Done
51
52
53Validate IPL
54    [Documentation]  Power the host on, and validate the IPL.
55
56    Initiate Power On
57    Wait Until Keyword Succeeds
58    ...  10 min    30 sec   Is System State Host Booted
59
60
61Collect SOL Log
62    [Documentation]    Log FFDC if test suite fails and collect SOL log
63    ...                for debugging purposes.
64     ${sol_out}=    Stop SOL Console Logging
65     Create File    ${EXECDIR}${/}logs${/}SOL.log    ${sol_out}
66
67
68Validate Parameters
69    [Documentation]   Validate parameter and file existence.
70    Should Not Be Empty
71    ...   ${PNOR_IMAGE_PATH}  msg=PNOR image path not set
72
73    OperatingSystem.File Should Exist  ${PNOR_IMAGE_PATH}
74    ...   msg=${PNOR_IMAGE_PATH} File not found
75
76