README
1/******************************************************************************/
2/* */
3/* Copyright (c) International Business Machines Corp., 2007 */
4/* */
5/* This program is free software; you can redistribute it and/or modify */
6/* it under the terms of the GNU General Public License as published by */
7/* the Free Software Foundation; either version 2 of the License, or */
8/* (at your option) any later version. */
9/* */
10/* This program is distributed in the hope that it will be useful, */
11/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
12/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */
13/* the GNU General Public License for more details. */
14/* */
15/* You should have received a copy of the GNU General Public License */
16/* along with this program; if not, write to the Free Software */
17/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
18/* */
19/******************************************************************************/
20
21realtime tests is an open-source testsuite for testing real-time Linux. It is
22licensed under the GPL. The latest version of this testsuite is available
23from http://rt.wiki.kernel.org. This testsuite is maintained by the IBM
24Real-Time team. Please send bug reports, contributions, questions to
25the discussion list also available at: http://rt.wiki.kernel.org.
26
27The testsuite contains some functional tests and a few performance
28and latency measurement tests. This is still a work in (early) progress!
29
30
31DEPENDENCIES
32============
33The testsuite expects glibc ("C" library) (version 2.4 onwards) and
34the underlying kernel (version 2.6.18 onwards) to support
35Robust and Priority Inheritance (PI) Mutexes.
36
37Most of the tests need the user to have a privileges that allow
38him/her to create SCHED_FIFO threads of priorities upto 99
39
40RUNNING TESTS THROUGH LTP
41=========================
42Simplest method to run realtime tests through LTP is:
43The command will configure,build and run tests specified through
44argument provided to the script.
45
46Run command below from LTP root directory with argument:
47
48 $./testscripts/test_realtime.sh -t $arg
49
50 or
51
52 $./test_realtime.sh -t $arg # From $LTPROOT/testscripts directory
53
54Here $arg takes values as :
55
56 func = all functional tests will be run "
57 stress = all stress tests will be run "
58 perf = all perf tests will be run "
59 all = all tests will be run "
60 list = all available tests will be listed "
61 clean = all logs deleted, make clean performed "
62 test_name = only test_name subdir will be run (e.g: func/pi-tests) "
63
64
65BUILD
66=====
67To build the tests execute the following command:
68
69 $make
70
71
72RUNNING THE TESTS
73==================
74The top level script run.sh can be used to invoke all or a subset of tests.
75
761. Running the script with no arguments will list usage:
77
78 $run.sh
79
80
812. Running the script with the list option will list the available tests.
82
83 $run.sh -t list
84
85 Note that the tests available are determined by the presence
86 of a local script run_auto.sh in the individual test subdirectories
87 at this time.
88
89
903. Individual tests can also be run. For example, to run the prio-wake tests
91 for 20 iterations:
92
93 $run.sh -t func/prio-wake -l 20
94
95 Note, the test must be specified with the path relative to the test
96 home (where run.sh lives).
97
98
994. Alternatively, you can run the individual tests from their local directory.
100 For example, to run the prio-wake tests:
101
102 $cd func/prio-wake
103 $./run_auto.sh
104
105
1065. You can also run sets of tests:
107
108 $run.sh -t func
109
110 will run all the functional tests once
111
112 $run.sh -t perf -l 3
113
114 will run all the perf tests (if any!) thrice
115
116 Use the -h option to see the various arguments taken.
117
1186. Or you can run the binaries...
119
120
121
122RESULTS
123=======
124All the automated run scripts set up logging in the logs/ directory. Not all
125the tests have a clear PASS/FAIL outcome quite yet. Work on parsing results
126is ongoing.
127
128