128 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /******************************************************************************/
 | |
| /*                                                                            */
 | |
| /* Copyright (c) International Business Machines  Corp., 2007                 */
 | |
| /*                                                                            */
 | |
| /* This program is free software;  you can redistribute it and/or modify      */
 | |
| /* it under the terms of the GNU General Public License as published by       */
 | |
| /* the Free Software Foundation; either version 2 of the License, or          */
 | |
| /* (at your option) any later version.                                        */
 | |
| /*                                                                            */
 | |
| /* This program is distributed in the hope that it will be useful,            */
 | |
| /* but WITHOUT ANY WARRANTY;  without even the implied warranty of            */
 | |
| /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See                  */
 | |
| /* the GNU General Public License for more details.                           */
 | |
| /*                                                                            */
 | |
| /* You should have received a copy of the GNU General Public License          */
 | |
| /* along with this program;  if not, write to the Free Software               */
 | |
| /* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA    */
 | |
| /*                                                                            */
 | |
| /******************************************************************************/
 | |
| 
 | |
| realtime tests is an open-source testsuite for testing real-time Linux.  It is
 | |
| licensed under the GPL.  The latest version of this testsuite is available
 | |
| from http://rt.wiki.kernel.org.  This testsuite is maintained by the IBM
 | |
| Real-Time team.  Please send bug reports, contributions, questions to
 | |
| the discussion list also available at: http://rt.wiki.kernel.org.
 | |
| 
 | |
| The testsuite contains some functional tests and a few performance
 | |
| and latency measurement tests.  This is still a work in (early) progress!
 | |
| 
 | |
| 
 | |
| DEPENDENCIES
 | |
| ============
 | |
| The testsuite expects glibc ("C" library) (version 2.4 onwards) and
 | |
| the underlying kernel (version 2.6.18 onwards) to support
 | |
| Robust and Priority Inheritance (PI) Mutexes.
 | |
| 
 | |
| Most of the tests need the user to have a privileges that allow
 | |
| him/her to create SCHED_FIFO threads of priorities upto 99
 | |
| 
 | |
| RUNNING TESTS THROUGH LTP
 | |
| =========================
 | |
| Simplest method to run realtime tests through LTP is:
 | |
| The command will configure,build and run tests specified through
 | |
| argument provided to the script.
 | |
| 
 | |
| Run command below from LTP root directory with argument:
 | |
| 
 | |
|         $./testscripts/test_realtime.sh -t $arg
 | |
| 
 | |
|         or
 | |
| 
 | |
|         $./test_realtime.sh -t $arg   # From $LTPROOT/testscripts directory
 | |
| 
 | |
| Here $arg takes values as :
 | |
| 
 | |
|         func =        all functional tests will be run "
 | |
|         stress =      all stress tests will be run "
 | |
|         perf =        all perf tests will be run "
 | |
|         all =         all tests will be run "
 | |
|         list =        all available tests will be listed "
 | |
|         clean =       all logs deleted, make clean performed "
 | |
|         test_name =   only test_name subdir will be run (e.g: func/pi-tests) "
 | |
| 
 | |
| 
 | |
| BUILD
 | |
| =====
 | |
| To build the tests execute the following command:
 | |
| 
 | |
| 		$make
 | |
| 
 | |
| 
 | |
| RUNNING THE TESTS
 | |
| ==================
 | |
| The top level script run.sh can be used to invoke all or a subset of tests.
 | |
| 
 | |
| 1. Running the script with no arguments will list usage:
 | |
| 
 | |
| 		$run.sh
 | |
| 
 | |
| 
 | |
| 2. Running the script with the list option will list the available tests.
 | |
| 
 | |
| 		$run.sh -t list
 | |
| 
 | |
|    Note that the tests available are determined by the presence
 | |
|    of a local script run_auto.sh in the individual test subdirectories
 | |
|    at this time.
 | |
| 
 | |
| 
 | |
| 3. Individual tests can also be run. For example, to run the prio-wake tests
 | |
|    for 20 iterations:
 | |
| 
 | |
| 		$run.sh -t func/prio-wake -l 20
 | |
| 
 | |
|    Note, the test must be specified with the path relative to the test
 | |
|    home (where run.sh lives).
 | |
| 
 | |
| 
 | |
| 4. Alternatively, you can run the individual tests from their local directory.
 | |
|    For example, to run the prio-wake tests:
 | |
| 
 | |
| 		$cd func/prio-wake
 | |
| 		$./run_auto.sh
 | |
| 
 | |
| 
 | |
| 5. You can also run sets of tests:
 | |
| 
 | |
| 		$run.sh -t func
 | |
| 
 | |
|         will run all the functional tests once
 | |
| 
 | |
| 		$run.sh -t perf -l 3
 | |
| 
 | |
|         will run all the perf tests (if any!) thrice
 | |
| 
 | |
|         Use the -h option to see the various arguments taken.
 | |
| 
 | |
| 6. Or you can run the binaries...
 | |
| 
 | |
| 
 | |
| 
 | |
| RESULTS
 | |
| =======
 | |
| All the automated run scripts set up logging in the logs/ directory.  Not all
 | |
| the tests have a clear PASS/FAIL outcome quite yet.  Work on parsing results
 | |
| is ongoing.
 | |
| 
 |