summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2019-10-17 20:57:59 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2019-10-17 21:05:19 +0200
commit9c57e1d0d4b601505607629156354bd44d7a6f4a (patch)
tree13017b8e509fa78bd905f6b8d7130e91bb18ffa1 /common
parentf6e4ceb2f7e5a3f6020e3d64e8c9270a11f94bd4 (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')
-rwxr-xr-x[-rw-r--r--]common/scripts/application-lifecycle.sh40
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