Home | History | Annotate | Download | only in realtime
      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