SPEC-3427: check if RID is null 66/24766/2
authorCorentin LABBE <clabbe@baylibre.com>
Mon, 15 Jun 2020 12:29:06 +0000 (14:29 +0200)
committerCorentin LABBE <clabbe@baylibre.com>
Fri, 3 Jul 2020 11:27:48 +0000 (13:27 +0200)
RID could be null if process failed to start.
In that case, we will retry to start it.
On a second fail, we will not continue the test suite and fail.

In th same time add a second status check, but after a delay to be sure
the service is still working.

Bug-AGL: SPEC-3427
Change-Id: I566f1aefa06cbb791674373340ce87be220b18a2
Signed-off-by: Corentin LABBE <clabbe@baylibre.com>
common/scripts/application-lifecycle.sh

index b5ee32b..4484917 100755 (executable)
@@ -222,6 +222,23 @@ do
        fi
        # TODO, compare RID with the list in $PSLIST"
        RID="$(cat rid)"
+       if [ "$RID" == 'null' ];then
+               sleep 20
+               echo "DEBUG: retry start $NAMEID"
+               do_afm_util start $NAMEID > "rid"
+               if [ $? -ne 0 ];then
+                       echo "ERROR: afm-util start"
+                       lava-test-case afm-util-start-$WGTNAME --result fail
+                       continue
+               fi
+               RID="$(cat rid)"
+       fi
+
+       if [ "$RID" == 'null' ];then
+               echo "ERROR: RID is null, service fail to start"
+               lava-test-case afm-util-status-$WGTNAME --result fail
+               continue
+       fi
 
        echo "DEBUG: status $NAMEID ($RID)"
        do_afm_util status $RID
@@ -244,7 +261,7 @@ do
        fi
 
        echo "DEBUG: start2 $NAMEID"
-       do_afm_util start $NAMEID
+       do_afm_util start $NAMEID > rid
        if [ $? -ne 0 ];then
                echo "ERROR: afm-util start2"
                lava-test-case afm-util-start2-$WGTNAME --result fail
@@ -252,4 +269,19 @@ do
        else
                lava-test-case afm-util-start2-$WGTNAME --result pass
        fi
+       RID="$(cat rid)"
+       if [ "$RID" == 'null' ];then
+               echo "ERROR: RID is null"
+               continue
+       fi
+       sleep 120
+       echo "DEBUG: status2 $NAMEID ($RID)"
+       do_afm_util status $RID
+       if [ $? -ne 0 ];then
+               echo "ERROR: afm-util status2"
+               lava-test-case afm-util-status2-$WGTNAME --result fail
+               continue
+       else
+               lava-test-case afm-util-status2-$WGTNAME --result pass
+       fi
 done