diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2019-10-17 20:57:59 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2019-10-17 21:05:19 +0200 |
commit | 9c57e1d0d4b601505607629156354bd44d7a6f4a (patch) | |
tree | 13017b8e509fa78bd905f6b8d7130e91bb18ffa1 | |
parent | f6e4ceb2f7e5a3f6020e3d64e8c9270a11f94bd4 (diff) |
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 <jsmoeller@linuxfoundation.org>
Change-Id: I49a53a5a2b14666757b65b0f8203eb73ed2c7b45
-rwxr-xr-x[-rw-r--r--] | common/scripts/application-lifecycle.sh | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/common/scripts/application-lifecycle.sh b/common/scripts/application-lifecycle.sh index 9e3a92c..15d505c 100644..100755 --- 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 |