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 /common/scripts | |
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
Diffstat (limited to 'common/scripts')
-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 |