Back to home page

LXR

 
 

    


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