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