diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rwxr-xr-x | afm-test | 63 |
2 files changed, 65 insertions, 0 deletions
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 <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. +########################################################################### + + function usage() { +cat >&2 << EOF +Usage: $0 <path> +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" + |