From 9c57e1d0d4b601505607629156354bd44d7a6f4a Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Thu, 17 Oct 2019 20:57:59 +0200 Subject: 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 --- common/scripts/application-lifecycle.sh | 40 +++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) mode change 100644 => 100755 common/scripts/application-lifecycle.sh 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 -- cgit 1.2.3-korg