Work in /home/agl-driver
[src/qa-testdefinitions.git] / common / scripts / agl-screenshot-test.sh
index cf56566..769a98a 100755 (executable)
@@ -5,9 +5,13 @@ set -x
 export TERM=dumb
 export COLUMNS=1000
 
+SCRIPTDIR=`dirname $(readlink -f $0)`
 XDG_RUNTIME_DIR=/run/user/1001
 AGLDRIVER=agl-driver
 
+# go to output directory
+
+cd /home/$AGLDRIVER
 
 
 
@@ -43,7 +47,6 @@ su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:
 # restart agl-compositor
 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user restart agl-compositor'
 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user start homescreen'
-su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user start launcher'
 
 # e.g. qemu-system-arm takes loooong
 sleep 10
@@ -81,10 +84,11 @@ fi
 
 AGL_SCREENSHOOTER=/usr/bin/agl-screenshooter
 
+
 #su - $AGLDRIVER -c "..."
 do_screenshot()
 {
-       su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER"
+       su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER -a"
        return $?
 }
 
@@ -100,6 +104,8 @@ rm -rf /home/agl-driver/agl-screenshot-*.png
 # give it a bit more time to display
 #sleep 60
 
+su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER -l"
+
 if do_screenshot ; then
        echo "Screenshot taken"
 else
@@ -109,27 +115,40 @@ else
        exit 127
 fi
 
+ls agl-screenshot*
+
 REF_IMAGE_SHA1SUM=`sha1sum ${REF_IMAGE} | awk -F ' ' '{print $1}'`
-IMAGE_SHA1SUM=`sha1sum /home/agl-driver/agl-screenshot-*.png | awk -F ' ' '{print $1}'`
 
-if [ "${REF_IMAGE_SHA1SUM}" == "${IMAGE_SHA1SUM}" ]; then
-       echo "Screenshot matches the reference image"
+FINALRET=1
+
+
+for SCREENSHOT in agl-screenshot-*.png ; do
+    IMAGE_SHA1SUM=`sha1sum $SCREENSHOT | awk -F ' ' '{print $1}'`
+
+    if [ "${REF_IMAGE_SHA1SUM}" == "${IMAGE_SHA1SUM}" ]; then
+       echo "A Screenshot matches the reference image"
        FINALRET=0
-else
-       echo "Screenshot does not match the reference image"
+       break
+    else
+       echo "A Screenshot does not match the reference image"
        FINALRET=127
-       for i in agl-screenshot-*.png ; do
-               if [ -x ./artiproxy-upload.sh ];then
-                       ./artiproxy-upload.sh $i dumpjournal
-               fi
-       done
-       echo "#########################"
-       journalctl -t agl-compositor
-       echo "#########################"
-       journalctl -b --no-pager -a
-       echo "#########################"
-fi
+    fi
 
+done
+
+if [ $FINALRET != 0 ] ; then
+    for i in agl-screenshot-*.png ; do
+       ${SCRIPTDIR}/./artiproxy-upload.sh $i "$i"
+    done
+    journalctl -b --no-pager -a > journal.txt
+    ${SCRIPTDIR}/./artiproxy-upload.sh journal.txt journal.txt
+
+    echo "#########################"
+    cat /run/platform/display/*.log
+    echo "#########################"
+    set
+    echo "#########################"
+fi
 
 # cleanup
 sed -i '/activate-by-default=false/d' /etc/xdg/weston/weston.ini