summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-10-20 02:12:18 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-10-30 10:55:48 +0100
commit28dc5cc12f14c7163e655b57c4e2af28302622f6 (patch)
tree88c5a090d30a40b4f0f9c192a84f5ce716a8fb32
parent2beffef345c6bf96078aae711d78dec973a93ef6 (diff)
Select the test set to run
The widget launcher script has been modified to use the environment variable VERBSELECTED and VERBARGS. Then you are able to select a test set defined by the testVerb configuration section in your JSON configuration file. You can also use the special argument {'lavaOutput': true} to enable specials Lava markers on the output. Change-Id: If677cbbc8cb6cf6eb1bdf9f76b83f5e7976dd5a5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--test-wgt/launcher.sh.in33
1 files changed, 26 insertions, 7 deletions
diff --git a/test-wgt/launcher.sh.in b/test-wgt/launcher.sh.in
index 7414a7b..1dac914 100644
--- a/test-wgt/launcher.sh.in
+++ b/test-wgt/launcher.sh.in
@@ -21,6 +21,8 @@
PORT=$1
TOKEN=$2
+[ ! "${VERBSELECTED}" ] && VERBSELECTED="*"
+
# Research the Api name used
CFGFILE=$(find ${AFM_APP_INSTALL_DIR} -name "*json" -print | head -n1)
API=$(grep '\"api\"' ${CFGFILE} | cut -d'"' -f4)
@@ -32,19 +34,36 @@ mkfifo $AFBCLIENTOUT
declare -a testVerb
-if [[ $(jq '.testVerb|type' $CFGFILE) == "array" ]]
+if [[ $(jq -r '.testVerb|type' $CFGFILE) == "array" ]]
then
- testVerbLength=$(jq '.testVerb | length')
- for (( idx=0; idx<testVerbLength; idx++ )) do
- testVerb[$idx]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
- done
+ testVerbLength=$(jq '.testVerb|length' $CFGFILE)
+ if [ "$VERBSELECTED" = "*" ]
+ then
+ # Get all the verbs of the test api
+ for (( idx=0; idx<testVerbLength; idx++ )) do
+ testVerb[$idx]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ done
+ else
+ # You search for a exact matching verb so there should be only one match
+ for (( idx=0; idx<testVerbLength; idx++ )) do
+ [ "$(jq -r ".testVerb[$idx].uid" ${CFGFILE})" = "$VERBSELECTED" ] && \
+ testVerb[0]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ done
+ fi
else
- testVerb[0]=$(jq -r ".testVerb.uid" ${CFGFILE})
+ if [ "$VERBSELECTED" = "*" ]
+ then
+ testVerb[0]=$(jq -r ".testVerb.uid" ${CFGFILE})
+ else
+ [ "$(jq -r ".testVerb[0].uid" ${CFGFILE})" = "$VERBSELECTED" ] && \
+ testVerb[0]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ fi
fi
testVerbLength=${#testVerb[@]}
for (( idx=0; idx<testVerbLength; idx++ )) do
- afb-client-demo -s ws://localhost:${PORT}/api?token=${TOKEN} "$API" "${testVerb[$idx]}"
+ echo "Launching ${testVerb[$idx]}"
+ afb-client-demo -s ws://localhost:${PORT}/api?token=${TOKEN} "$API" "${testVerb[$idx]}" "${VERBARGS}"
done
afb-client-demo ws://localhost:${PORT}/api?token=${TOKEN} "$API" "exit"