*** Settings *** Documentation Find services and service agents on the system. Library OperatingSystem Library Collections Library String Resource ../lib/utils.robot # Get the SLP services available, make it suite global. Suite Setup Suite Setup Execution Force Tags SLP_Service_Test *** Variables *** ${service_types} findsrvtypes ${service_agents} findsrvs ${service_path} /etc/slp/services # SLP_SERVICES Services listed by slptool, by default Empty. ${SLP_SERVICES} ${EMPTY} *** Test Cases *** Verify SLP Service Types [Documentation] Find services supported by system. [Tags] Verify_SLP_Service_Types Verify Service Types Verify Service Agents For Service Types [Documentation] Find And verify service agents. [Tags] Verify_Service_Agents_For_Service_Types @{parameters}= Split String ${SLP_SERVICES} ${\n} FOR ${parameter} IN @{parameters} ${output}= Run SLP command ${service_agents} ${parameter} Verify Service Agents ${output} ${parameter} END *** Keywords *** Suite Setup Execution [Documentation] Get SLP services. ${output}= Run which slptool Should Not Be Empty ${output} ... msg=slptool not installed. ${SLP_SERVICES}= Run SLP command ${service_types} Set Suite Variable ${SLP_SERVICES} Run SLP Command [Documentation] Run SLPTool command and return output. [Arguments] ${cmd} ${param}=${EMPTY} # cmd The SLP command to be run. # param The SLP command parameters. ${rc} ${output}= Run And Return Rc And Output ... slptool -u ${OPENBMC_HOST} ${cmd} ${param} Should Be Equal As Integers ${rc} 0 [Return] ${output} Verify Service Types [Documentation] Verifies the output of service types. ${remove_prefix}= Remove String ${SLP_SERVICES} service: @{services}= Split String ${remove_prefix} ${\n} ${service_count}= Get Length ${services} Open Connection And Log In ${stdout} ${stderr}= Execute Command ls ${service_path} ... return_stderr=True Should Be Empty ${stderr} ${file_count}= Get Line Count ${stdout} Should Be Equal ${service_count} ${file_count} ... msg=Number of services on system & command are not equal. FOR ${service} IN @{services} Should Contain ${stdout} ${service} msg=Services on system & command are not same. END Verify Service Agents [Documentation] Verifies the output of srvs. [Arguments] ${output} ${service_agent} # Example of output # Run Keywords Should Contain ${output} ${service_agent} AND ... Should Contain ${output} ${OPENBMC_HOST}, ... msg=Expected process info missing.