diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-09-14 18:35:41 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-10 10:53:47 +0200 |
commit | c2271569bf1dd72b5fe6aaa110328dc0850c2088 (patch) | |
tree | ef84d49f954bc866e4b41cbeb5c591edfdb78000 /afm-test.target.sh | |
parent | bc69040626197b2bd7a9e05cf751f2d3ef2c083e (diff) |
Script for both native and target launch
Change-Id: I57ac01794ea92e235cb105acb22ab44f5566268b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'afm-test.target.sh')
-rwxr-xr-x | afm-test.target.sh | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/afm-test.target.sh b/afm-test.target.sh new file mode 100755 index 0000000..f24ca83 --- /dev/null +++ b/afm-test.target.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +########################################################################### +# Copyright (C) 2017, 2018 IoT.bzh +# +# Author: Romain Forlot <romain.forlot@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +trap cleanup SIGTERM SIGINT SIGABRT SIGHUP + +function cleanup() { + afm-util kill $pid >&2 + afm-util remove $APP >&2 + exit 1 +} + + function usage() { +cat >&2 << EOF +Usage: $0 <path> +path: path to the test wgt file +EOF +} + +function error() { + echo "FAIL: $*" >&2 + cleanup +} +function info() { + echo "PASS: $*" >&2 +} + +# check application name passed as first arg +WGT=$1 +[[ -z "$WGT" ]] && { usage; exit 0;} +[[ ! -f "$WGT" ]] && { usage; exit 0;} + +INSTALL=$(afm-util install $WGT) +APP=$(echo $INSTALL | jq -r .added) +[[ "$APP" == "null" ]] && error "Widget contains error. Abort" +APP_HOME=${HOME}/app-data/$(echo ${APP} |cut -d'@' -f1) + +# ask appfw to start application +pid=$(afm-util start $APP) +[[ -z "$pid" || ! -e "/proc/$pid" ]] && error "Failed to start application $APP" +info "$APP started with pid=$pid" + +kill -0 $pid +RUNNING=$? +while [[ $RUNNING -eq 0 ]] +do + kill -0 $pid + RUNNING=$? + sleep 0.2 +done + +# Terminate the App +afm-util kill $pid >&2 +afm-util remove $APP >&2 + +# Little sed script making compliant the output of test results for ptest. +sed -r -e '/^# (S| +)/d' -e '1d' -e 's:^ok +([0-9]+)\t+(.*):PASS\: \1 \2:' -e 's:^not ok +([0-9]+)\t+(.*):FAIL\: \1 \2:' ${APP_HOME}/test_results.log + +info "$APP killed and removed" |