[OE-core] [PATCH 1/1] ptest-runner: Allow running of specific tests

Ioan-Adrian Ratiu adrian.ratiu at ni.com
Fri Oct 30 14:49:54 UTC 2015


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 <adrian.ratiu at ni.com>
---
 .../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 c618f11..204cbdf
--- 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
-- 
2.1.4




More information about the Openembedded-core mailing list