Warning, /testsuites/README.md is written in an unsupported language. File is not indexed.
0001 Testsuite
0002 =========
0003 This is the directory under which the RTEMS
0004 test programs provided with the release are located. The
0005 following is a description of the contents of each file and
0006 subdirectory directly in this directory:
0007
0008 NOTE: Other than the 'samples' directory these tests are intended
0009 only to exercise RTEMS features and are *not* good examples
0010 of programming for RTEMS.
0011
0012 samples
0013
0014 This directory contains a set of simple sample applications
0015 which can be used either to test a board support package
0016 or as the starting point for a custom application.
0017
0018 mptests
0019
0020 This directory contains the RTEMS Multiprocessor Test Suite.
0021 The tests in this directory provide near complete (98%+) test
0022 coverage of the multiprocessor specific code in RTEMS.
0023
0024 psxtests
0025
0026 This directory contains the RTEMS POSIX API Test Suite.
0027 The tests in this directory test the POSIX API support in RTEMS.
0028
0029 sptests
0030
0031 This directory contains the RTEMS Single Processor Test Suite.
0032 The tests in this directory provide near complete (98%+) test
0033 coverage of the non-multiprocessor code in RTEMS.
0034
0035 tmtests
0036
0037 This directory contains the RTEMS Timing Test Suite.
0038 The tests in this directory are used to measure the execution
0039 time of RTEMS directive and some critical internal functions.
0040 The results of these test are reported in the Fact Sheets
0041 and Supplental Manuals.
0042
0043
0044
0045 RTEMS Testsuite Configuration
0046 -----------------------------
0047 The RTEMS Testsuite lets you configure the tests for a BSP. Every BSP can have
0048 a test configuration data file and this file is read when building the
0049 tests. The test configuration data can control what tests are build and now the
0050 tests are built.
0051
0052 The test configuration data files have a `.tcfg` file extension. You can
0053 include other test configuration data files reducing repeated test
0054 sequences. There is also a global test configuration data file for global
0055 configurations.
0056
0057
0058 Command
0059 -------
0060 The build system invokes the test check tool to determine what it does.
0061
0062 rtems-test-check mode bsp testconfig includepaths test[s]
0063
0064 Mode (mode)
0065 -----------
0066
0067 The check command modes are:
0068
0069 1. `exclude`: The input list of tests is checked against the excluded tests
0070 and the tests that are not excluded are printed.
0071
0072 2. `flags': The test build flags are returned. These flags can enumerate a
0073 test in a specific way.
0074
0075 BSP (bsp)
0076 ---------
0077
0078 The name of the BSP.
0079
0080
0081 Test Configuration (testconfig)
0082 -------------------------------
0083 The path to the BSP's test configration file. If the file does not exist the
0084 input list of tests is returned and there are no special build flags.
0085
0086
0087 Include Paths (inputpaths)
0088 --------------------------
0089 A colon (`:`) separated list of paths test configuration files are search
0090 for.
0091
0092
0093 Tests (test[s])
0094 ---------------
0095 If the mode is `exclude` this argument is a list of tests to be checked. If the
0096 mode is `flags` a single test is required and the flags for the test are returned.
0097
0098
0099 File Format
0100 -----------
0101 The file is an ASCII text file of lines. And text after and including the `#`
0102 character is removed. Empty lines are ignored.
0103
0104 A line is either the `include` directive or a test state. The states are:
0105
0106 exclude : Exclude the test from being built.
0107 expected-fail : The test is built but expected to fail.
0108 user-input : The test requires user input and may be aborted when running
0109 the tests.
0110 indeterminate : The test result is indeterminate. This means the test may pass
0111 or may fail therefore it cannot be included in the regression
0112 results.
0113 benchmark : The test is a benchmark and maybe is aborted when running the
0114 tests because of the load and time the test may take to run.
0115 Performance changes are currently not viewed as a regression.
0116
0117
0118
0119 Problems
0120 --------
0121 The tests were designed to operate in a very controlled environment. If
0122 one uses interrupt-driven console output, then tasks will block unexpectedly
0123 when a buffer filles and interrupts will perturb with the task execution order.
0124
0125 The tmtests should only be run with all interrupt sources disabled using
0126 polled IO.
0127
0128 The following is a list of reported failures from running the tests on
0129 a board with interrupt driven console IO. These problems do not
0130 occur when using polled IO.
0131
0132 tm03, tm04, tm05, tm07, tm11, tm12, tm13, tm14, tm15, tm16, tm17,
0133 tm19, tm22, tm23, tm24 - All hit my breakpoint at
0134 _Internal_error_Occurred.
0135
0136 tm20, tm27 - hang in middle of tests.
0137 tm26 - hangs at end of tests.
0138
0139 sp02 - Gets through some tests, then attempts to execute code at
0140 location 0.
0141 sp04 - hangs at end of tests.
0142 sp06 - rtems_task_restart of TA3 FAILED -- expected (0) got (4)
0143 sp14 - hang in middle of tests
0144 sp13, sp15 - terminate properly, but output at end is missing.
0145 sp16 - _Internal_error_Occurred.
0146 sp19 - rtems_clock_get FAILED -- expected (0) got (11), and hangs in
0147 middle of test.
0148
0149 cpuuse - hangs in middle of tests
0150 malloctest - prints nothing
0151
0152 ```
0153 psx05 - Init: pthread_mutex_init - EINVAL (bad protocol)
0154 ../../../../../../../src/rtems-981001/c/src/tests/psxtests/psx05/../../../../../
0155 ../../src/rtems-981001/c/src/tests/psxtests/psx05/task.c:35:
0156 failed assertion `status == EBUSY'
0157 N\: pthread_mutex_init - EINVAL (bad priority ceiling)
0158 ```
0159