[RTEMS Project] #2927: RTEMS Testing Tool Project

RTEMS trac trac at rtems.org
Tue Mar 14 05:47:40 UTC 2017


#2927: RTEMS Testing Tool Project
-------------------------+-----------------------------
 Reporter:  Chris Johns  |      Owner:  joel.sherrill@…
     Type:  project      |     Status:  new
 Priority:  normal       |  Milestone:  Indefinite
Component:  testing      |    Version:  4.12
 Severity:  normal       |   Keywords:  SoC, testing
-------------------------+-----------------------------
 = RTEMS Testing Tool Project =

 [[PageOutline(1-5, Contents, inline)]]

 == Mentors ==
 Chris Johns

 == Status ==

 Looking for funding.

 = Introduction =

 This project involves working on the RTEMS Testing Tool that resides in
 the RTEMS Tools package and is part of the RTEMS Tools Project. The RTEMS
 Testing Tool provides a consistent way to test BSPs on different hardware.
 The tool aims to integrate with a wide range of testing tools and methods
 generating a consistent report for the RTEMS test suite.

 = Project =

 The project is to enhance and improve some of the existing functionality
 and to complete needed parts.

 == Goal ==

 * Make the configuration file format easier to use.
 * Allows users to customise and change behaviour without changing
 configuration files.
 * To be able to determine if a change in RTEMS causes a regression.
 * To be able to verify simulator and real hardware results match for a
 BSP.
 * Improve console support.

 == Prerequisite ==

 * Knowledge of C and Python programming languages.
 * Knowledge of host software and building packages such as simulators.
 * Knowledge of debugging and debuggers.
 * Knowledge of the RTEMS Tool's Toolkit.
 * Requires Unix (Linux or FreeBSD) host.
 * Requires modern PC hardware. Building all tests and running takes.
 * Optionally a Zedboard or MicroZed with a JTAG debugging pod.
 * Optionally a WIndows 7 or Windows 10 machine.

 == Resources ==

 * Current RTEMS developers.
 * The existing RTEMS Testing Tool.

 = Tasks =

 The following are the tasks:

 == Tools ==

 1. Build RTEMS `erc32` and `xilinx_zynq_a9_qemu` with all tests.
 1. Build QEMU with required patches to run the Zynq BSP executables.
 1. Verify `rtems-test` runs all tests and generates a report.

 == Configuration Files ==

 The `rtems-test` command uses the RTEMS Tool's Toolkit macro support to
 read macro files. This file format is a simple text version of the macro
 fields and is loaded into the macro table. It is not easy to read and not
 really suitable. It was used as a configuration file format to get
 something working rather than a suitable configuration file format.

 The RTEMS Testing tool uses the macros internally for its data and this is
 not to change. It is working and has nice features.

 The task is to look at replacing the raw macro format files with a YAML
 file that lets us define and manage the BSP back end configurations we
 need to support.

 An important area to be considered and implemented is an interface for
 user specific data a BSP back end configuration needs in order to run. For
 example when running the tests via JTAG you need to initialise the
 hardware in a target specific way and this data is not part of RTEMS so a
 user needs to provide it to the tool to run. A command line option is one
 way we need implement however adding endless command line options is not
 reasonable so a configuration file is also needed.

 The configuration file format shall allow a user to define the console
 interface they have. This could be a direct serial connection or a telnet
 console.

 == Regression Analysis ==

 The RTEMS Testing tools is to provide regression analysis for BSPs that
 provides the expected test result data.

 This task requires adding support for the `expected-fail` result tests can
 now report and to track this value.

 The task also requires a YAML format file for each BSP that defines its
 expected test results. The `rtems-test` tool shall attempt to locate the
 file when run in regression mode inside a build tree and also when the BSP
 is installed and determine if the BSP has regressed or the test results in
 RTEMS need updating.

 == Generic Serial Console ==

 The console support in the back end is termios however this is not
 available on Windows. This task is to integrate a BSD licensed Python
 serial package that provides Unix and Windows support so consoles can be
 supported on Windows and Unix.

 == Telnet Console ==

 Add support for telnet as a console. The ''ser2net'' package is a nice way
 to provide a number of serial ports on a network and a telnet console
 provides a way for testers to use it.

 = Acknowledgements =

 None.

 = Miscellaneous Sections =

 As the project progresses, you will need to add to the RTEMS Testing
 section of the User manual. This section does not currently exist but it
 should be present even in a skeleton form.

 = References =

 * None

--
Ticket URL: <http://devel.rtems.org/ticket/2927>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list