export TERM=dumb
export COLUMNS=1000
+SCRIPTDIR=`dirname $(readlink -f $0)`
XDG_RUNTIME_DIR=/run/user/1001
AGLDRIVER=agl-driver
+if [ -z $1 ] ; then
+ echo "No reference image passed"
+ exit 125
+fi
+
+REF_IMAGE=`readlink -f $1`
+
+# go to output directory
+cd /home/$AGLDRIVER
-REF_IMAGE="$1"
if [ -z "${REF_IMAGE}" ]; then
echo "No reference image passed"
echo 'HOMESCREEN_DEMO_CI=1' > /etc/default/homescreen
sync
systemctl daemon-reload || true
-su - agl-driver -c 'export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1001/bus" ; systemctl --user daemon-reload' || true
sleep 2
# create initial journal cursor file
journalctl /usr/bin/agl-compositor --cursor-file=/tmp/agl-screenshot-cursor > /tmp/first-log 2>&1
# stop homescreen (shell) and launcher
-su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user stop homescreen'
-su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user stop launcher'
+systemctl stop homescreen.service
+systemctl stop launcher.service
# 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'
+systemctl restart agl-compositor.service
+systemctl start homescreen.service
# e.g. qemu-system-arm takes loooong
sleep 10
#su - $AGLDRIVER -c "..."
do_screenshot()
{
- su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER -a"
+ $AGL_SCREENSHOOTER -a
return $?
}
# give it a bit more time to display
#sleep 60
-su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER -l"
+$AGL_SCREENSHOOTER -l
if do_screenshot ; then
echo "Screenshot taken"
exit 127
fi
-ls /home/agl-driver/agl-screenshot*
+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
-set -x
- echo "Screenshot does not match the reference image"
+ break
+ else
+ echo "A Screenshot does not match the reference image"
FINALRET=127
- for i in /home/agl-driver/agl-screenshot-*.png ; do
- if [ -x ./artiproxy-upload.sh ];then
- ./artiproxy-upload.sh $i $(basename $i)
- fi
-set +x
- done
- echo "#########################"
- journalctl -t agl-compositor
- echo "#########################"
- journalctl -b --no-pager -a
- echo "#########################"
- exit 127
-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
systemctl daemon-reload
sync
sleep 2
-systemctl restart agl-session@agl-driver.service
+systemctl restart agl-compositor.service
+systemctl restart homescreen.service
+systemctl restart launcher.service
sleep 10