From: Ioan-Adrian Ratiu Date: Fri, 30 Oct 2015 14:49:54 +0000 (+0200) Subject: ptest-runner: Allow running of specific tests X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~28479 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a13333c3e9ab601a11c10aba2a0a55c7fdea2e24;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git ptest-runner: Allow running of specific tests By default ptest-runner executes all ptests found in a system. With this change, ptest-runner can be given a list of ptest package names to run (the default is still available). For example, to run only the zlib and rt-tests ptests: "ptest-runner zlib rt-tests" Signed-off-by: Ioan-Adrian Ratiu Signed-off-by: Ross Burton --- diff --git a/meta/recipes-support/ptest-runner/files/ptest-runner b/meta/recipes-support/ptest-runner/files/ptest-runner old mode 100644 new mode 100755 index c618f1148db..204cbdfc762 --- a/meta/recipes-support/ptest-runner/files/ptest-runner +++ b/meta/recipes-support/ptest-runner/files/ptest-runner @@ -1,26 +1,53 @@ #!/bin/sh -ANYFAILED=no -echo "START: $0" -for libdir in /usr/lib* -do +determine_ptests_to_run() +{ + for libdir in /usr/lib* + do + [ ! -d "$libdir" ] && continue - [ ! -d "$libdir" ] && continue + for x in `ls -d $libdir/*/ptest 2>/dev/null` + do + [ ! -f $x/run-ptest ] && continue + [ -h `dirname $x` ] && continue - for x in `ls -d $libdir/*/ptest 2>/dev/null` - do - [ ! -f $x/run-ptest ] && continue - [ -h `dirname $x` ] && continue + #found a ptest in the system + PTEST_FOUND=$(basename $(dirname $x)) + + # when no pkg-names were specified, by default run each one + if [[ -z $@ ]]; then + printf " $x" + else + #check if this ptest has been asked for and add it + if [[ $@ =~ $PTEST_FOUND ]]; then + printf " $x" + fi + fi + done + done +} +run_ptests() +{ + ANYFAILED=no + + #the paths were sanity-checked in determine_ptests_to_run() + for ptst_path in $PTESTS_TO_RUN + do date "+%Y-%m-%dT%H:%M" - echo "BEGIN: $x" - cd "$x" + echo "BEGIN: $ptst_path" + cd "$ptst_path" ./run-ptest || ANYFAILED=yes - echo "END: $x" + echo "END: $ptest_path" date "+%Y-%m-%dT%H:%M" done -done +} + +echo "START: $0" +PTESTS_TO_RUN=$(determine_ptests_to_run $@) +run_ptests echo "STOP: $0" + if [ "$ANYFAILED" = "yes" ]; then exit 1 fi