|  | *** Settings *** | 
|  | Documentation     Module for capturing BMC serial output | 
|  |  | 
|  | Library           Telnet  newline=LF | 
|  | Library           OperatingSystem | 
|  | Library           Collections | 
|  | Library           String | 
|  |  | 
|  |  | 
|  | *** Keywords *** | 
|  |  | 
|  | Open Telnet Connection To BMC Serial Console | 
|  | [Documentation]   Open telnet connection session to BMC serial console | 
|  | ...               The login prompt expected, for example, for Witherspoon | 
|  | ...               is "Witherspoon login:". | 
|  | [Arguments]   ${i_host}=${OPENBMC_SERIAL_HOST} | 
|  | ...           ${i_port}=${OPENBMC_SERIAL_PORT} | 
|  | ...           ${i_model}=${OPENBMC_MODEL} | 
|  |  | 
|  | # Description of argument(s): | 
|  | # i_host    The host name or IP of the serial console. | 
|  | # i_port    The port of the serial console. | 
|  | # i_model   The path to the system data, i.e. "./data/Witherspoon.py". | 
|  |  | 
|  | ${prompt_string}=  Convert To Lowercase  ${OPENBMC_MODEL} login: | 
|  | Telnet.Open Connection | 
|  | ...  ${i_host}  port=${i_port}  prompt=# | 
|  | Telnet.Set Newline  \n | 
|  | Telnet.Set Newline  CRLF | 
|  | Telnet.Write  \n | 
|  | Telnet.Login  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD} | 
|  | ...  login_prompt=${prompt_string}  password_prompt=Password: | 
|  | Telnet.Set Timeout  30 minute 30 seconds | 
|  |  | 
|  |  | 
|  | Read And Log BMC Serial Console Output | 
|  | [Documentation]    Reads everything that is currently available | 
|  | ...                in the output. | 
|  |  | 
|  | ${bmc_serial_log}=   Telnet.Read | 
|  | Log   ${bmc_serial_log} | 
|  |  | 
|  |  | 
|  | Execute Command On Serial Console | 
|  | [Documentation]  Execute a command on the BMC serial console. | 
|  | [Arguments]  ${command_string} | 
|  |  | 
|  | # Description of argument(s): | 
|  | # command   The command to execute on the BMC. | 
|  |  | 
|  | Open Telnet Connection To BMC Serial Console | 
|  | Telnet.Write  \n | 
|  | Telnet.Write  \n | 
|  | Telnet.Execute Command  ${command_string} | 
|  | Read And Log BMC Serial Console Output | 
|  | Close Serial Console Connection | 
|  |  | 
|  |  | 
|  | Close Serial Console Connection | 
|  | [Documentation]  Log out of the BMC and close telnet. | 
|  |  | 
|  | Telnet.Write  \n | 
|  | Telnet.Write  exit | 
|  | Telnet.Close Connection |