From: Jan-Simon Moeller Date: Thu, 17 Oct 2019 18:57:59 +0000 (+0200) Subject: Differ platform and user scope in service and application X-Git-Tag: 8.99.1~6^2 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=9c57e1d0d4b601505607629156354bd44d7a6f4a;p=src%2Fqa-testdefinitions.git Differ platform and user scope in service and application When executing the lifecycle test, we need to take into account if the service or app runs in platform or user scope. Bug-AGL: SPEC-2903 . Signed-off-by: Jan-Simon Moeller Change-Id: I49a53a5a2b14666757b65b0f8203eb73ed2c7b45 --- diff --git a/common/scripts/application-lifecycle.sh b/common/scripts/application-lifecycle.sh old mode 100644 new mode 100755 index 9e3a92c..15d505c --- a/common/scripts/application-lifecycle.sh +++ b/common/scripts/application-lifecycle.sh @@ -1,7 +1,14 @@ #!/bin/sh +set -x + export TERM=dumb +SERVICE_PLATFORM=0 +SERVICE_USER=0 +APPLICATION_USER=0 +AGLDRIVER=agl-driver + while [ $# -ge 1 ] do case $1 in @@ -49,6 +56,19 @@ do else echo "DEBUG: not hidden package" fi + # a service sets urn:AGL:widget:provided-api + if $(grep "urn:AGL:widget:provided-api" config.xml) ; then + # we are a service, now determine the scope ... + if $(grep "urn:AGL:permission::partner:scope-platform" config.xml) ; then + SERVICE_PLATFORM=1 + else + SERVICE_USER=1 + fi + else + # we are an application + APPLICATION_USER=1 + # no other type known (yet) + fi else echo "DEBUG: fail to unzip" fi @@ -150,8 +170,24 @@ do echo "DEBUG: check if we see the package with systemctl -a (before start)" systemctl -a |grep "afm.*$WGTNAME" + # here we need to differ between SERVICE_PLATFORM, SERVICE_USER and APPLICATION_USER + if test x"1" = x"$SERVICE_PLATFORM" ; then + PRE_CMD="su -c" + fi + if test x"1" = x"$SERVICE_USER" ; then + PRE_CMD="su $AGLDRIVER -c" + fi + if test x"1" = x"$APPLICATION_USER" ; then + PRE_CMD="su $AGLDRIVER -c" + fi + + # construct the command to call + CMD=( "$PRE_CMD" ) + CMD+=( " ' " ) + CMD+=( "afm-util start $NAMEID" ) + CMD+=( " ' " ) echo "DEBUG: start $NAMEID" - afm-util start $NAMEID > "rid" + exec "${CMD[@]}" > "rid" if [ $? -ne 0 ];then echo "ERROR: afm-util start" lava-test-case afm-util-start-$WGTNAME --result fail @@ -200,7 +236,7 @@ do fi echo "DEBUG: start2 $NAMEID" - afm-util start $NAMEID + exec "${CMD[@]}" if [ $? -ne 0 ];then echo "ERROR: afm-util start2" lava-test-case afm-util-start2-$WGTNAME --result fail