From 01343266b1d75f75f1b3271d79323094dc400be5 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 1 Aug 2018 17:53:21 +0200 Subject: Added afm-test script This script will be in charge of launching the test binding app. Change-Id: I34d74d173f9f00d916a61b912b0e285b350ead99 Signed-off-by: Romain Forlot --- CMakeLists.txt | 2 ++ afm-test | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100755 afm-test diff --git a/CMakeLists.txt b/CMakeLists.txt index c533f0e..47074c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,3 +27,5 @@ ADD_TEST(NAME AFT_TESTS WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND afb-test -v test ) + +INSTALL(PROGRAMS afm-test DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/afm-test b/afm-test new file mode 100755 index 0000000..0be7737 --- /dev/null +++ b/afm-test @@ -0,0 +1,63 @@ +#!/bin/bash + +########################################################################### +# Copyright (C) 2017, 2018 IoT.bzh +# +# Author: Romain Forlot +# +# 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. +########################################################################### + + function usage() { +cat >&2 << EOF +Usage: $0 +path: path to the test wgt file +EOF +} + +function error() { + echo "ERR: $@" >&2 + exit 1 +} +function info() { + echo "INF: $@" >&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" + +# 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" + +ps -ef | grep -v grep | grep -q $pid +RUNNING=$? +while [[ $RUNNING -eq 0 ]] +do + ps -ef | grep -v grep | grep -q $pid + RUNNING=$? +done + +# Terminate the App +afm-util kill $pid >&2 +afm-util remove $APP >&2 + +info "$APP killed and removed" + -- cgit 1.2.3-korg