openbmc / openbmc-test-automation

Apache License 2.0
100 stars 92 forks source link

Features of OpenBMC Test Automation

Interface Feature List

Key Feature List

Debugging Supported List

Installation Setup Guide

If using Python 3.x, use the corresponding pip3 to install packages. Note: Older Python 2.x is not actively supported.

REST base packages:

    $ pip install -U requests
    $ pip install -U robotframework-requests
    $ pip install -U robotframework-httplibrary

Python redfish library packages: For more detailed intstructions see python-redfish-library

    $ pip install redfish

SSH and SCP base packages: For more detailed installation instructions see robotframework-sshlibrary

    $ pip install robotframework-sshlibrary
    $ pip install robotframework-scplibrary

Installing requirement dependencies:

    $ pip install -r requirements.txt

you'll find this file once your clone openbmc-test-automation repository.

For Web UI ( GUI ) Testing setup instructions see OpenBMC GUI Test Setup Guide

Installing tox:

    $ pip install -U tox

Installing expect (Ubuntu example):

    $ sudo apt-get install expect

OpenBMC Test Development

These documents contain details on developing OpenBMC test code and debugging.

OpenBMC Test Documentation

Supported Systems Architecture

OpenBMC test infrastructure is proven capable of running on:

Testing Setup Steps

To verify the installation setup is completed and ready to execute.

Test Layout

There are several sub-directories within the openbmc-test-automation base which contain test suites, tools, templates, etc. These sub-directories are classified as follows:

redfish/: Contains the general test cases for OpenBMC stack functional verification.

systest/: Contains test cases for HTX bootme testing.

xcat/: Contains test cases for XCAT automation.

gui/test/: Contains test cases for testing web-based interface built on AngularJS.

gui/gui_test/: Contains test cases for testing web-based user interface built on Vue.js.

pldm/: Contains test cases for platform management subsystem (base, bios, fru, platform, OEM).

snmp/: Contains test cases for SNMP (Simple Network Management Protocol) configuration testing.

openpower/: Contains test cases for an OpenPOWER based system.

tools/: Contains various tools.

templates/: Contains sample code examples and setup testing.

test_list/: Contains the argument files used for skipping test cases (e.g "skip_test", "skip_test_extended", etc.) or grouping them (e.g "HW_CI", "CT_basic_run", etc.).

Redfish Test Layout

OpenBMC is moving steadily towards DTMF Redfish, which is an open industry standard specification and schema that meets the expectations of end users for simple, modern and secure management of scalable platform hardware.

redfish/: Contains test cases for DMTF Redfish-related feature supported on OpenBMC.

redfish/extended/: Contains test cases for combined DMTF Redfish-related feature supported on OpenBMC. Some of the test will be deprecated.

Note: Work in progress test development parameter -v REDFISH_SUPPORT_TRANS_STATE:1 to force the test suites to execute in redfish mode only.

Quickstart

To run openbmc-automation first you need to install the prerequisite Python packages which will help to invoke tests through tox (Note that tox version 2.3.1 or greater is required) or via Robot CLI command.

Robot Command Line

Jenkins jobs tox commands