1*** Settings *** 2Documentation Do random repeated boots based on the state of the BMC machine. 3 4Library state.py 5Library obmc_boot_test.py 6 7Resource openbmc_ffdc.robot 8 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 18... ffdc_dir_path_style ffdc_check state_change_timeout power_on_timeout 19... power_off_timeout test_mode quiet debug 20 21# Initialize each program parameter. 22${openbmc_host} ${EMPTY} 23${openbmc_nickname} ${openbmc_host} 24${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} 46${ffdc_dir_path_style} ${EMPTY} 47${ffdc_check} ${EMPTY} 48${state_change_timeout} 1 min 49${power_on_timeout} 14 mins 50${power_off_timeout} 2 mins 51${test_mode} 0 52${quiet} 0 53${debug} 0 54 55# Flag variables. 56# test_really_running is needed by DB_Logging plug-in. 57${test_really_running} ${1} 58 59*** Test Cases *** 60General Boot Testing 61 [Documentation] Performs repeated boot tests. 62 [Tags] General_boot_testing 63 [Teardown] Test Teardown 64 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 *** 70############################################################################### 71Main 72 [Teardown] Main Keyword Teardown 73 74 # 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. 77 78 Main Py 79 80############################################################################### 81