*** Settings ***

# Copy this template as a base to get a start on a robot program. You may remove any generic comments (like
# this one).

Documentation  Base to get a start on a robot program.

Library                     pgm_template.py
Library                     gen_print.py
Library                     gen_robot_print.py
Library                     gen_robot_valid.py
Resource                    bmc_redfish_resource.robot

Suite Setup                 Suite Setup
Suite Teardown              Suite Teardown
Test Setup                  Test Setup

*** Variables ***
# Initialize program parameters variables.
# Create parm_list containing all of our program parameters.
@{parm_list}                TEST_MODE  QUIET  DEBUG

# Initialize each program parameter.
${TEST_MODE}                0
${QUIET}                    0
${DEBUG}                    0


*** Test Cases ***
Test Case 1
    [Documentation]  Test case 1 documentation.

    Qprint Timen  First test case.
