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
21 realtime tests is an open-source testsuite for testing real-time Linux. It is
22 licensed under the GPL. The latest version of this testsuite is available
23 from http://rt.wiki.kernel.org. This testsuite is maintained by the IBM
24 Real-Time team. Please send bug reports, contributions, questions to
25 the discussion list also available at: http://rt.wiki.kernel.org.
26
27 The testsuite contains some functional tests and a few performance
28 and latency measurement tests. This is still a work in (early) progress!
29
30
31 DEPENDENCIES
32 ============
33 The testsuite expects glibc ("C" library) (version 2.4 onwards) and
34 the underlying kernel (version 2.6.18 onwards) to support
35 Robust and Priority Inheritance (PI) Mutexes.
36
37 Most of the tests need the user to have a privileges that allow
38 him/her to create SCHED_FIFO threads of priorities upto 99
39
40 RUNNING TESTS THROUGH LTP
41 =========================
42 Simplest method to run realtime tests through LTP is:
43 The command will configure,build and run tests specified through
44 argument provided to the script.
45
46 Run 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
54 Here $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
65 BUILD
66 =====
67 To build the tests execute the following command:
68
69 $make
70
71
72 RUNNING THE TESTS
73 ==================
74 The top level script run.sh can be used to invoke all or a subset of tests.
75
76 1. Running the script with no arguments will list usage:
77
78 $run.sh
79
80
81 2. 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
90 3. 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
99 4. 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
106 5. 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
118 6. Or you can run the binaries...
119
120
121
122 RESULTS
123 =======
124 All the automated run scripts set up logging in the logs/ directory. Not all
125 the tests have a clear PASS/FAIL outcome quite yet. Work on parsing results
126 is ongoing.
127
128