From 8aa21025551c948bf1e76ea1cbad82f0dbc2633f Mon Sep 17 00:00:00 2001 From: Zorro Lang Date: Mon, 26 Sep 2016 21:19:49 +0800 Subject: runltp: add -R option for randomize test order Generally we write test entries into runtests/${testfile}, then runltp reads and runs lines sequentially everytime, nearly no one will change the test order. Recently we find bugs by change the test order-different test combination maybe find more bugs. So I add this new option -R to randomize test order. Signed-off-by: Zorro Lang Acked-by: Cyril Hrubis --- runltp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'runltp') diff --git a/runltp b/runltp index bb2e5d868..10373891f 100755 --- a/runltp +++ b/runltp @@ -153,6 +153,7 @@ usage() -p Human readable format logfiles. -q Print less verbose output to screen. -r LTPROOT Fully qualified path where testsuite is installed. + -R Randomize test order. -s PATTERN Only run test cases which match PATTERN. -S SKIPFILE Skip tests specified in SKIPFILE -t DURATION Execute the testsuite for given duration. Examples: @@ -213,12 +214,13 @@ main() local EMAIL_TO="" local TAG_RESTRICT_STRING="" local PAN_COMMAND="" + local RANDOMRUN=0 local DEFAULT_FILE_NAME_GENERATION_TIME=`date +"%Y_%m_%d-%Hh_%Mm_%Ss"` local scenfile= version_date=$(cat "$LTPROOT/Version") - while getopts a:c:C:T:d:D:f:F:ehi:I:K:g:l:m:M:Nno:pqr:s:S:t:T:w:x:b:B:z:Z: arg + while getopts a:c:C:T:d:D:f:F:ehi:I:K:g:l:m:M:Nno:pqr:Rs:S:t:T:w:x:b:B:z:Z: arg do case $arg in a) EMAIL_TO=$OPTARG ALT_EMAIL_OUT=1;; @@ -410,6 +412,8 @@ main() r) LTPROOT=$OPTARG;; + R) RANDOMRUN=1;; + s) TAG_RESTRICT_STRING=$OPTARG;; S) case $OPTARG in @@ -740,6 +744,10 @@ main() done fi + if [ "$RANDOMRUN" != "0" ]; then + sort -R ${TMP}/alltests -o ${TMP}/alltests + fi + [ ! -z "$QUIET_MODE" ] && { echo "INFO: Test start time: $(date)" ; } PAN_COMMAND="${LTPROOT}/bin/ltp-pan $QUIET_MODE -e -S $INSTANCES $DURATION -a $$ \ -n $$ $PRETTY_PRT -f ${TMP}/alltests $LOGFILE $OUTPUTFILE $FAILCMDFILE $TCONFCMDFILE" -- cgit v1.2.3