1*** Settings *** 2Documentation This file is resourced by obmc_boot_test.py to set initial 3... variable values, etc. 4 5Resource ../lib/openbmc_ffdc.robot 6Library ../lib/state.py 7 8Library ../lib/obmc_boot_test.py 9Library Collections 10 11*** Variables *** 12# Initialize program parameters variables. 13# Create parm_list containing all of our program parameters. This is used by 14# 'Rqprint Pgm Header' 15@{parm_list} openbmc_nickname openbmc_host openbmc_username 16... openbmc_password rest_username rest_password ipmi_username 17... ipmi_password os_host os_username os_password pdu_host pdu_username 18... pdu_password pdu_slot_no openbmc_serial_host openbmc_serial_port 19... stack_mode boot_stack boot_list max_num_tests plug_in_dir_paths 20... status_file_path openbmc_model boot_pass boot_fail ffdc_dir_path_style 21... ffdc_check ffdc_only ffdc_function_list state_change_timeout 22... power_on_timeout power_off_timeout boot_fail_threshold delete_errlogs 23... call_post_stack_plug do_pre_boot_plug_in_setup test_mode quiet debug 24 25# Initialize each program parameter. 26${openbmc_host} ${EMPTY} 27${openbmc_nickname} ${openbmc_host} 28${openbmc_username} root 29${openbmc_password} 0penBmc 30${rest_username} ${openbmc_username} 31${rest_password} ${openbmc_password} 32${ipmi_username} ${openbmc_username} 33${ipmi_password} ${openbmc_password} 34${os_host} ${EMPTY} 35${os_username} root 36${os_password} P@ssw0rd 37${pdu_host} ${EMPTY} 38${pdu_username} admin 39${pdu_password} admin 40${pdu_slot_no} ${EMPTY} 41${openbmc_serial_host} ${EMPTY} 42${openbmc_serial_port} ${EMPTY} 43${stack_mode} normal 44${boot_stack} ${EMPTY} 45${boot_list} ${EMPTY} 46${max_num_tests} 0 47${plug_in_dir_paths} ${EMPTY} 48${status_file_path} ${EMPTY} 49${openbmc_model} ${EMPTY} 50# The reason boot_pass and boot_fail are parameters is that it is possible to 51# be called by a program that has already done some tests. This allows us to 52# keep the grand total. 53${boot_pass} ${0} 54${boot_fail} ${0} 55${ffdc_dir_path_style} ${EMPTY} 56${ffdc_check} ${EMPTY} 57${ffdc_only} ${0} 58${ffdc_function_list} ${EMPTY} 59${state_change_timeout} 3 mins 60${power_on_timeout} 14 mins 61${power_off_timeout} 2 mins 62# If the number of boot failures, exceeds boot_fail_threshold, this program 63# returns non-zero. 64${boot_fail_threshold} ${0} 65${delete_errlogs} ${0} 66# This variable indicates whether post_stack plug-in processing should be done. 67${call_post_stack_plug} ${1} 68# do_pre_boot_plug_in_setup is only heeded when -v ffdc_only:1. Callers may 69# choose whether to run pre_boot_plug_in_setup which clears existing FFDC file 70# lists and sets new ffdc_prefix value. 71${do_pre_boot_plug_in_setup} ${1} 72${test_mode} 0 73${quiet} 0 74${debug} 0 75 76# Flag variables. 77# test_really_running is needed by DB_Logging plug-in. 78${test_really_running} ${1} 79 80 81*** Keywords *** 82OBMC Boot Test 83 [Documentation] Run the OBMC boot test. 84 [Teardown] OBMC Boot Test Teardown 85 [Arguments] ${pos_arg1}=${EMPTY} &{arguments} 86 87 # Note: If I knew how to specify a keyword teardown in python, I would 88 # rename the "OBMC Boot Test Py" python function to "OBMC Boot Test" and 89 # do away with this robot keyword. 90 91 Run Keyword If '${pos_arg1}' != '${EMPTY}' 92 ... Set To Dictionary ${arguments} loc_boot_stack=${pos_arg1} 93 94 OBMC Boot Test Py &{arguments} 95