9. Testing — RTEMS User Manual 5.4-rc2 (21st August 2026) documentation

# 9. Testing

RTEMS developers run test executables when adding new features or testing a bug fix. All tests are run to make sure changes do not introduce regressions. Users can run the RTEMS tests to be certain the build of the kernel they have is functioning.

The section describes using and configuring the RTEMS Tester and RTEMS Run tools, the types of laboratory set ups supported and how to add your BSP to the framework. The tools command line interfaces are detailed in RTEMS Tester and Run.

An RTEMS Test is an RTEMS executable where the application code is a test. Tests in RTEMS print banners to the console to indicate the configuration of the test and if it has start and finished.

The RTEMS Tools Project provides the RTEMS Tester and RTEMS Run tools. The RTEMS Tester command is `rtems-test` and the RTEMS Run command is `rtems-run`. These commands manage the complexity of running embedded executables. The commands provide a consistent command line interface to a testing framework that supports the various run time and testing scenarios we encounter such as simulators, GDB and executing directly on target hardware.

The RTEMS kernel code contains an extensive set of tests to exercise and test the RTEMS kernel. The tests check functionality, provide coverage testing and make sure the kernel is operating as intended on your target system. The testsuite has support to make creating a test simple and uniform.

The tests are built by adding `--enable-tests` to the RTEMS build configuration command line. There are over 600 tests and building them does extend the RTEMS kernel’s build time and use more disk space but it worth building and running them. The RTEMS test executables have the `.exe` file extension.

- 9.1. Test Banners
- 9.2. Test Controls
  - 9.2.1. Expected Test States
  - 9.2.2. Test Configuration
- 9.3. Test Builds
- 9.4. Tester Configuration
  - 9.4.1. Defaults
  - 9.4.2. BSP and User Configuration
  - 9.4.3. Configuration Scripts
    - 9.4.3.1. Console
    - 9.4.3.2. Execute
    - 9.4.3.3. GDB
    - 9.4.3.4. TFTP
- 9.5. Coverage Analysis
- 9.6. Consoles
- 9.7. Simulation
- 9.8. GDB and JTAG
- 9.9. TFTP and U-Boot
  - 9.9.1. Target Hardware
    - 9.9.1.1. U-Boot Set Up
  - 9.9.2. BSP Configuration
  - 9.9.3. TFTP Sequences