From 54df9117488f793b634edd3d2662df62e7491e1d Mon Sep 17 00:00:00 2001 From: Ioan-Adrian Ratiu Date: Fri, 30 Oct 2015 16:49:54 +0200 Subject: 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" (From OE-Core rev: a13333c3e9ab601a11c10aba2a0a55c7fdea2e24) Signed-off-by: Ioan-Adrian Ratiu Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../ptest-runner/files/ptest-runner | 53 ++++++++++++++++------ 1 file changed, 40 insertions(+), 13 deletions(-) mode change 100644 => 100755 meta/recipes-support/ptest-runner/files/ptest-runner 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 c618f1148d..204cbdfc76 --- 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 -- cgit v1.2.3-54-g00ecf