diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2016-06-16 23:24:24 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2016-06-19 15:26:01 +0300 |
commit | 7aa5142f82e87fa25fd3652ea74e416e02a185f5 (patch) | |
tree | 36007555eed207a2cf3f6236d0f4c87c573378e9 /scripts | |
parent | 282f432b16b1271257500e15b0f80c1a459045d8 (diff) |
vsp-lib: Handle logging internally
Remove the need to pipe individual commands to the logger from the test
scripts by moving all logging code internally to vsp-lib and vsp-runner.
As an interesting side effect the removal of shell pipes from the test
scripts avoids running functions in subshells. This makes it possible
for the pipeline configuration functions to set variables that can be
used later.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/vsp-lib.sh | 6 | ||||
-rwxr-xr-x | scripts/vsp-runner.sh | 22 |
2 files changed, 18 insertions, 10 deletions
diff --git a/scripts/vsp-lib.sh b/scripts/vsp-lib.sh index 7e06738..e4040f4 100755 --- a/scripts/vsp-lib.sh +++ b/scripts/vsp-lib.sh @@ -500,7 +500,7 @@ format_configure() { # test_init() { - logfile=${1/sh/log} + export logfile=${1/sh/log} local features=$2 local optional_features=$3 @@ -569,3 +569,7 @@ test_complete() { rm -f frame-*.bin rm -f histo-*.bin } + +test_run() { + test_main | ./logger.sh error >> $logfile +} diff --git a/scripts/vsp-runner.sh b/scripts/vsp-runner.sh index d944e74..c4745c3 100755 --- a/scripts/vsp-runner.sh +++ b/scripts/vsp-runner.sh @@ -61,31 +61,26 @@ parse() { fi mdev=$1 - dev=`$mediactl -d $mdev -p | grep 'bus info' | sed 's/.*platform://'` - - if [ -z $dev ] ; then - echo "Error: Device $dev doesn't exist" - syntax - return 1 - fi - cmd=$2 case $cmd in hgo) options=$3 + log=hgo ;; input) index=$3 infmt=$4 options=$5 + log=input.$index ;; output) index=$3 outfmt=$4 options=$5 + log=output.$index ;; *) @@ -99,6 +94,14 @@ parse() { # execute() { + dev=`$mediactl -d $mdev -p | grep 'bus info' | sed 's/.*platform://'` + + if [ -z $dev ] ; then + echo "Error: Device $dev doesn't exist" + syntax + return 1 + fi + case $cmd in hgo) if [ "x$options" = xinfinite ] ; then @@ -142,4 +145,5 @@ execute() { esac } -parse $* && execute +parse $* || exit 1 +execute | ./logger.sh $log >> $logfile |