Realtime tests, earlier maintained by IBM-realtime team is now integrated to
LTP off december release.
There were certain issue seen with running realtime-tests smoothly through
LTP.
Major issues seen are :
1. realtime tests log their output in testcases/realtime/logs directory by
default.This directory was missing in the tree.
2. testscripts/realtime.sh doesn't have execute permission by default.
This patch deals these issues by creating a new run script ( test_realtime.sh)
and this script will create log directory for logging results.
Patch is tested on realtime and non-realtime kernels and it works fine.
Tests are happily building and running on any of the kernel.However , tests
will end-up outputting 'FAIL' on a non-realtime kernel ( obviously).
Sample output of one of the testcase ( sched_latency ) on non-realtime kernel
is like :
Start: 81 us: PASS
Min: 30 us: PASS
Max: 1962 us: FAIL
Avg: 1022 us: FAIL
StdDev: 358.0536 us
Quantiles:
99.0% < 0
99.9% < 0
99.99% < 0
Failed Iterations: 9960
while on realtime kernel its output is :
Start: 79 us: PASS
Min: 8 us: PASS
Max: 15 us: PASS
Avg: 8 us: PASS
StdDev: 0.1912 us
Quantiles:
99.0% < 0
99.9% < 0
99.99% < 0
Failed Iterations: 0
PATCH :
Signed-off-by : Sudhanshu Singh <[EMAIL PROTECTED]>
Index: ltp-full-20071231/testscripts/test_realtime.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ ltp-full-20071231/testscripts/test_realtime.sh 2008-01-08
14:52:46.000000000 +0530
@@ -0,0 +1,148 @@
+#! /bin/bash
+#
+# Script to run the tests in testcases/realtime
+#
+# Usage: $0 test_argument
+#
+# where test-argument = func | stress | perf | all | list | clean | test_name
+#
+# test_name is the name of a subdirectory in func/, stress/ or perf/
+#
+echo "Real-time tests run"
+
+export LTPROOT=${PWD}
+echo $LTPROOT | grep testscripts > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ cd ..
+ export LTPROOT=${PWD}
+fi
+
+
+function usage()
+{
+ echo -e "\nUsage: $0 test-argument"
+ echo -e "\nWhere test-argument = func | stress | perf | all | list |
clean |
test_name"
+ echo -e "\nand:\n"
+ echo -e " func = all functional tests will be run "
+ echo -e " stress = all stress tests will be run "
+ echo -e " perf = all perf tests will be run "
+ echo -e " all = all tests will be run "
+ echo -e " list = all available tests will be listed "
+ echo -e " clean = all logs deleted, make clean performed "
+ echo -e " test_name = only test_name subdir will be run (e.g:
func/pi-tests) "
+ echo -e "\n"
+ exit 1;
+}
+
+list_tests()
+{
+ echo -e "\nAvailable tests are:\n"
+
+ cd $TESTS_DIR
+ for file in `find -name run_auto.sh`
+ do
+ echo -e " `dirname $file `"
+ done
+ echo -e " \n"
+}
+
+function run_test()
+{
+ if [ -d "$test" ]; then
+ cd $test
+ if [ -f "run_auto.sh" ]; then
+ ./run_auto.sh
+ else
+ echo -e "\n Failed to find run script in $test \n"
+ fi
+ cd $TESTS_DIR
+ else
+ echo -e "\n $test is not a valid test subdirectory\n"
+ usage
+ exit 1
+ fi
+}
+
+function make_clean()
+{
+ cd $TESTS_DIR
+ rm -rf logs/*
+ for mfile in `find -name "Makefile"`;
+ do
+ target_dir=`dirname $mfile`
+ cd $target_dir
+ make clean
+ cd $TESTS_DIR
+ done
+}
+
+source $LTPROOT/testcases/realtime/scripts/setenv.sh
+
+if [ $# -ne 1 ]; then
+ usage
+fi
+
+cd $TESTS_DIR
+if [ ! -e "logs" ]; then
+ mkdir logs
+ echo " creating logs directory as $TESTS_DIR/logs "
+ chmod -R 775 logs
+fi
+
+if [ ! -e "config/m4" ]; then
+ mkdir config/m4
+ chmod -R 775 config/m4
+fi
+
+rm -fr func/vstnm
+
+./autogen.sh
+./configure
+make
+
+
+case $1 in
+ func)
+ TESTLIST="func"
+ ;;
+ stress)
+ TESTLIST="stress"
+ ;;
+ perf)
+ TESTLIST="perf"
+ ;;
+ all)
+ # Run all tests which have run_auto.sh
+ TESTLIST="func stress perf"
+ ;;
+ list)
+ # This will only display subdirs which have run_auto.sh
+ list_tests
+ exit
+ ;;
+ clean)
+ # This will clobber logs, out files, .o's etc
+ make_clean
+ exit
+ ;;
+ *)
+ # run the tests in the individual subdirectory if it exists
+ TESTLIST="$1"
+ ;;
+esac
+
+for subdir in $TESTLIST
+do
+ if [ -d $subdir ]; then
+ cd $subdir
+ for name in `find -name "run_auto.sh"`
+ do
+ test="`dirname $name`"
+ run_test $test
+ cd $subdir
+ done
+ cd $TESTS_DIR
+ else
+ echo -e "\n $subdir not found; check name/path with run.sh
list\n"
+ fi
+done
Index: ltp-full-20071231/testscripts/realtime.sh
===================================================================
--- ltp-full-20071231.orig/testscripts/realtime.sh 2008-01-01
17:15:40.000000000 +0530
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,135 +0,0 @@
-#! /bin/bash
-#
-# Script to run the tests in testcases/realtime
-#
-# Usage: $0 test_argument
-#
-# where test-argument = func | stress | perf | all | list | clean | test_name
-#
-# test_name is the name of a subdirectory in func/, stress/ or perf/
-#
-echo "Real-time tests run"
-
-export LTPROOT=${PWD}
-echo $LTPROOT | grep testscripts > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- cd ..
- export LTPROOT=${PWD}
-fi
-
-
-function usage()
-{
- echo -e "\n Usage: $0 test-argument "
- echo -e "\n Where test-argument = func | stress | perf | all | list |
clean | test_name"
- echo -e "\n and: \n"
- echo -e " func = all functional tests will be run "
- echo -e " stress = all stress tests will be run "
- echo -e " perf = all perf tests will be run "
- echo -e " all = all tests will be run "
- echo -e " list = all available tests will be listed "
- echo -e " clean = all logs deleted, make clean performed "
- echo -e " test_name = only test_name subdir will be run (e.g:
func/pi-tests) "
- echo -e "\n"
- exit 1;
-}
-
-list_tests()
-{
- echo -e "\n Available tests are:\n"
-
- cd $TESTS_DIR
- for file in `find -name run_auto.sh`
- do
- echo -e " `dirname $file `"
- done
- echo -e " \n"
-}
-
-function run_test()
-{
- if [ -d "$test" ]; then
- cd $test
- if [ -f "run_auto.sh" ]; then
- ./run_auto.sh
- else
- echo -e "\n Failed to find run script in $test \n"
- fi
- cd $TESTS_DIR
- else
- echo -e "\n $test is not a valid test subdirectory "
- usage
- exit 1
- fi
-}
-
-function make_clean()
-{
- cd $TESTS_DIR
- rm -rf logs/*
- for mfile in `find -name "Makefile"`;
- do
- target_dir=`dirname $mfile`
- cd $target_dir
- make clean
- cd $TESTS_DIR
- done
-}
-
-source $LTPROOT/testcases/realtime/scripts/setenv.sh
-
-if [ $# -ne 1 ]; then
- usage
-fi
-
-cd $TESTS_DIR
-./autogen.sh
-./configure
-make
-
-
-case $1 in
- func)
- TESTLIST="func"
- ;;
- stress)
- TESTLIST="stress"
- ;;
- perf)
- TESTLIST="perf"
- ;;
- all)
- # Run all tests which have run_auto.sh
- TESTLIST="func stress perf"
- ;;
- list)
- # This will only display subdirs which have run_auto.sh
- list_tests
- exit
- ;;
- clean)
- # This will clobber logs, out files, .o's etc
- make_clean
- exit
- ;;
- *)
- # run the tests in the individual subdirectory if it exists
- TESTLIST="$1"
- ;;
-esac
-
-for subdir in $TESTLIST
-do
- if [ -d $subdir ]; then
- cd $subdir
- for name in `find -name "run_auto.sh"`
- do
- test="`dirname $name`"
- run_test $test
- cd $subdir
- done
- cd $TESTS_DIR
- else
- echo -e "\n $subdir not found; check name/path with run.sh
list "
- fi
-done
Index: ltp-full-20071231/testcases/realtime/README
===================================================================
--- ltp-full-20071231.orig/testcases/realtime/README 2008-01-01
17:14:39.000000000 +0530
+++ ltp-full-20071231/testcases/realtime/README 2008-01-08 14:59:26.000000000
+0530
@@ -35,6 +35,31 @@
this version and autoconf-2.61.
+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 $arg
+
+ or
+
+ $./test_realtime.sh $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
=====
As of April 2007, we include autoconf support (based on Robert
============================================
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list