Revert "For master do not check connman.service"
[src/qa-testdefinitions.git] / common / scripts / service-check-gfx.sh
index dfde77b..63e557e 100755 (executable)
@@ -1,28 +1,74 @@
 #!/bin/bash
 
-REQUIREDSOCKETS="cynara.socket dbus.socket security-manager.socket"
-REQUIREDSERVICES="afm-system-daemon.service afm-user-daemon.service connman.service ofono.service weston.service HomeScreen.service lightmediascanner.service bluetooth.service"
+export LANG=C
+export TERM=dumb
+export COLUMNS=1000
+
+while getopts ":b:d:" option; do
+    case "${option}" in
+        b)
+            if [[ $OPTARG = -* ]]; then
+                ((OPTIND--))
+                continue
+            fi
+            BUILD_TAGS=${OPTARG}
+            ;;
+        d)
+            DEVICE_TAGS=${OPTARG}
+            ;;
+    esac
+done
+
+REQUIREDSOCKETS="dbus.socket"
+REQUIREDSERVICES="connman.service weston.service"
 
 ALL="${REQUIREDSOCKETS} ${REQUIREDSERVICES}"
 RESULT="unknown"
 
 # add delay for services to fully start
-sleep 5
+sleep 10
 
 for i in ${ALL} ; do
-    echo -e "\n########## Test for service ${i} being active ##########\n"
-    systemctl is-active ${i} >/dev/null 2>&1
-    if [ $? -eq 0 ] ; then
-        RESULT="pass"
-    else
-        RESULT="fail"
+    echo -e "\n\n########## Test for service ${i} being active ##########\n\n"
+    RESULT=""
+    if [[ ${i} == "weston.service" ]]; then
+        if [[ ${DEVICE_TAGS} != *"screen"* ]] || [[ ${BUILD_TAGS} != *"screen"* ]]; then
+            RESULT="skip"
+        fi
+    fi
+    if [[ -z $RESULT ]]; then
+        systemctl is-active ${i} >/dev/null 2>&1
+        if [ $? -eq 0 ] ; then
+            RESULT="pass"
+        else
+            RESULT="fail"
+            if [[ ${i} == "bluetooth.service" ]]; then
+                if [[ ${DEVICE_TAGS} != *"bluetooth"* ]] || [[ ${BUILD_TAGS} != *"bluetooth"* ]]; then
+                    RESULT="skip"
+                fi
+            fi
+            if [[ ${i} == "ofono.service" ]]; then
+                if [[ ${DEVICE_TAGS} != *"bluetooth"* ]] || [[ ${BUILD_TAGS} != *"bluetooth"* ]]; then
+                    RESULT="skip"
+                fi
+            fi
+        fi
     fi
+
     lava-test-case ${i} --result ${RESULT}
+    systemctl status ${i} || true
+    echo -e "\n\n"
 
-    if [ x"fail" == x"${RESULT}" ] ; then
-        systemctl status ${i} || true
-    fi
-    echo -e "\n########## Result for service ${i} : $RESULT ##########\n"
+    echo -e "\n\n########## Result for service ${i} : $RESULT ##########\n\n"
 done
 
-exit 0
\ No newline at end of file
+echo "------------------------------------------------"
+echo "All systemd units:"
+echo "------------------------------------------------"
+systemctl list-units || true
+echo "------------------------------------------------"
+echo "Only the failed systemd units:"
+echo "------------------------------------------------"
+( systemctl list-units | grep failed ) || true
+
+exit 0