1*** Settings ***
2Documentation  Run the caller's keyword string.
3
4# Description of parameters:
5# keyword_string  The keyword string to be run by this program.  If this
6#                 keyword string contains " ; " anywhere, it will be taken to
7#                 be multiple keyword strings (see example below).  Each
8#                 keywrod may also include a variable assignment.  Example:
9#                 ${my_var}=  My Keyword
10# lib_file_path   The path to a library or resource needed to run the keywords.
11#                 This may contain a colon-delimited list of library/resource
12#                 paths.
13# test_mode       This means that this program should go through all the
14#                 motions but not actually do anything substantial.
15# debug           If this parameter is set to "1", this program will print
16#                 additional debug information.
17# quiet           If this parameter is set to "1", this program will print
18#                 only essential information, i.e. it will not echo parameters,
19#                 echo commands, print the total run time, etc.
20
21# Example calls:
22# cd $HOME/git/openbmc-test-automation
23# export PYTHONPATH=${HOME}/git/openbmc-test-automation/lib/
24
25# robot --outputdir=/tmp -v OPENBMC_HOST:barp01 -v 'keyword_string:Log To Console  Hi.' extended/run_keyword.robot
26
27# robot --outputdir=/tmp -v OPENBMC_HOST:barp01 -v 'keyword_string:${state}=  Get State  quiet=${1} ; Rpvar  state' -v lib_file_path:state.py extended/run_keyword.robot
28
29# NOTE: Robot searches PYTHONPATH for libraries.
30Library   run_keyword.py
31
32Force Tags  Run_Keyword_Pgm
33
34*** Variables ***
35# Initialize program parameters variables.
36# Create parm_list containing all of our program parameters.  parm_list is
37# used by "rqprint_pgm_header".
38@{parm_list}                keyword_string  lib_file_path  test_mode  quiet
39...  debug
40
41# Initialize each program parameter.
42${keyword_string}           ${EMPTY}
43${lib_file_path}            ${EMPTY}
44${test_mode}                0
45${quiet}                    0
46${debug}                    0
47
48
49*** Test Cases ***
50Run Keyword Pgm
51    Main
52
53*** Keywords ***
54Main
55    [Teardown]  Program Teardown
56
57    Main Py
58