diff options
Diffstat (limited to 'meta')
-rwxr-xr-x[-rw-r--r--] | meta/recipes-support/ptest-runner/files/ptest-runner | 53 |
1 files changed, 40 insertions, 13 deletions
diff --git a/meta/recipes-support/ptest-runner/files/ptest-runner b/meta/recipes-support/ptest-runner/files/ptest-runner index c618f1148d..204cbdfc76 100644..100755 --- 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 |