Select the test set to run 63/17363/2 6.99.1 6.99.2 6.99.3 6.99.4 7.90.0 guppy/6.99.1 guppy/6.99.2 guppy/6.99.3 guppy/6.99.4 guppy_6.99.1 guppy_6.99.2 guppy_6.99.3 guppy_6.99.4 halibut/7.90.0 halibut_7.90.0
authorRomain Forlot <romain.forlot@iot.bzh>
Sat, 20 Oct 2018 00:12:18 +0000 (02:12 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Tue, 23 Oct 2018 17:31:26 +0000 (17:31 +0000)
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>
test-wgt/launcher.sh.in

index 7414a7b..1dac914 100644 (file)
@@ -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"