blob: 74fc45424f7383475af1f341de1ad940155cfa97 [file] [log] [blame]
Leah McNuttc9c9cde2016-10-07 16:53:52 +00001*** Settings ***
Michael Walsh0bbd8602016-11-22 11:31:49 -06002Documentation Do random repeated boots based on the state of the BMC machine.
Leah McNuttc9c9cde2016-10-07 16:53:52 +00003
Michael Walsh6741f742017-02-20 16:16:38 -06004Library state.py
5Library obmc_boot_test.py
Michael Walsh0bbd8602016-11-22 11:31:49 -06006
Michael Walsh6741f742017-02-20 16:16:38 -06007Resource openbmc_ffdc.robot
Michael Walsh0bbd8602016-11-22 11:31:49 -06008
9*** Variables ***
10# Initialize program parameters variables.
11# Create parm_list containing all of our program parameters. This is used by
12# 'Rqprint Pgm Header'
13@{parm_list} openbmc_nickname openbmc_host openbmc_username
14... openbmc_password os_host os_username os_password pdu_host
15... pdu_username pdu_password pdu_slot_no openbmc_serial_host
16... openbmc_serial_port boot_stack boot_list max_num_tests
17... plug_in_dir_paths status_file_path openbmc_model boot_pass boot_fail
Michael Walsh55302292017-01-10 11:43:02 -060018... ffdc_dir_path_style ffdc_check state_change_timeout power_on_timeout
Michael Walsh6741f742017-02-20 16:16:38 -060019... power_off_timeout test_mode quiet debug
Michael Walsh0bbd8602016-11-22 11:31:49 -060020
21# Initialize each program parameter.
Michael Walsh0bbd8602016-11-22 11:31:49 -060022${openbmc_host} ${EMPTY}
Michael Walsh6741f742017-02-20 16:16:38 -060023${openbmc_nickname} ${openbmc_host}
Michael Walsh0bbd8602016-11-22 11:31:49 -060024${openbmc_username} root
25${openbmc_password} 0penBmc
26${os_host} ${EMPTY}
27${os_username} root
28${os_password} P@ssw0rd
29${pdu_host} ${EMPTY}
30${pdu_username} admin
31${pdu_password} admin
32${pdu_slot_no} ${EMPTY}
33${openbmc_serial_host} ${EMPTY}
34${openbmc_serial_port} ${EMPTY}
35${boot_stack} ${EMPTY}
36${boot_list} ${EMPTY}
37${max_num_tests} 0
38${plug_in_dir_paths} ${EMPTY}
39${status_file_path} ${EMPTY}
40${openbmc_model} ${EMPTY}
41# The reason boot_pass and boot_fail are parameters is that it is possible to
42# be called by a program that has already done some tests. This allows us to
43# keep the grand total.
44${boot_pass} ${0}
45${boot_fail} ${0}
Michael Walshb4125952016-12-13 15:49:50 -060046${ffdc_dir_path_style} ${EMPTY}
47${ffdc_check} ${EMPTY}
Michael Walsh55302292017-01-10 11:43:02 -060048${state_change_timeout} 1 min
49${power_on_timeout} 14 mins
50${power_off_timeout} 2 mins
Michael Walsh0bbd8602016-11-22 11:31:49 -060051${test_mode} 0
52${quiet} 0
53${debug} 0
54
Michael Walsh0bbd8602016-11-22 11:31:49 -060055# Flag variables.
Michael Walsh0bbd8602016-11-22 11:31:49 -060056# test_really_running is needed by DB_Logging plug-in.
57${test_really_running} ${1}
Leah McNuttc9c9cde2016-10-07 16:53:52 +000058
59*** Test Cases ***
Michael Walsh6741f742017-02-20 16:16:38 -060060General Boot Testing
61 [Documentation] Performs repeated boot tests.
62 [Tags] General_boot_testing
Michael Walshc9116812017-03-10 14:23:06 -060063 [Teardown] Test Teardown
Leah McNuttc9c9cde2016-10-07 16:53:52 +000064
65 # Call the Main keyword to prevent any dots from appearing in the console
66 # due to top level keywords.
67 Main
68
69*** Keywords ***
Michael Walsh0bbd8602016-11-22 11:31:49 -060070###############################################################################
Leah McNuttc9c9cde2016-10-07 16:53:52 +000071Main
Michael Walshc9116812017-03-10 14:23:06 -060072 [Teardown] Main Keyword Teardown
Leah McNuttc9c9cde2016-10-07 16:53:52 +000073
Michael Walsh6741f742017-02-20 16:16:38 -060074 # This is the "Main" keyword. The advantages of having this keyword vs
75 # just putting the code in the *** Test Cases *** table are:
76 # 1) You won't get a green dot in the output every time you run a keyword.
Leah McNuttc9c9cde2016-10-07 16:53:52 +000077
Michael Walsh6741f742017-02-20 16:16:38 -060078 Main Py
Leah McNuttc9c9cde2016-10-07 16:53:52 +000079
Michael Walsh0bbd8602016-11-22 11:31:49 -060080###############################################################################