8 XDG_RUNTIME_DIR=/run/user/1001
16 if [ -z "${REF_IMAGE}" ]; then
17 echo "No reference image passed"
21 if [ ! -f "${REF_IMAGE}" ]; then
22 echo "Reference image is not found"
26 # Enable the test picture and disable cursor and any other application from being displayed
27 sed -i '/^\[core\]/a activate-by-default=false' /etc/xdg/weston/weston.ini
28 # setup homescreen env variable
29 sed -i '/^\[core\]/a hide-cursor=true' /etc/xdg/weston/weston.ini
30 # enable red/green/blue test screen
31 echo 'HOMESCREEN_DEMO_CI=1' > /etc/default/homescreen
33 systemctl daemon-reload || true
34 su - agl-driver -c 'export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1001/bus" ; systemctl --user daemon-reload' || true
37 # create initial journal cursor file
38 journalctl /usr/bin/agl-compositor --cursor-file=/tmp/agl-screenshot-cursor > /tmp/first-log 2>&1
40 # stop homescreen (shell) and launcher
41 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user stop homescreen'
42 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user stop launcher'
43 # restart agl-compositor
44 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user restart agl-compositor'
45 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user start homescreen'
46 su $AGLDRIVER -c 'XDG_RUNTIME_DIR=/run/user/1001/ DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus systemctl --user start launcher'
48 # e.g. qemu-system-arm takes loooong
50 echo "Waiting for compositor to initialize (+10sec)."
53 while test $LOOP -ge 1 ; do
55 ( mv /tmp/next-log /tmp/prev-log > /dev/null 2>&1 ) || true
56 journalctl /usr/bin/agl-compositor --cursor-file=/tmp/agl-screenshot-cursor > /tmp/next-log 2>&1
57 if ! grep -q 'Usable area:' /tmp/next-log ; then
58 # e.g. qemu-system-arm takes loooong
59 echo "Waiting for compositor to initialize (+60sec). Loop: $LOOP"
71 if ! grep -q 'Usable area:' /tmp/next-log ; then
72 echo "Marker ('Usable area:') not found. Dumping log."
73 echo "##################################"
77 echo "##################################"
79 #echo "CONTINUING ANYWAY !"
82 AGL_SCREENSHOOTER=/usr/bin/agl-screenshooter
84 #su - $AGLDRIVER -c "..."
87 su - $AGLDRIVER -c "XDG_RUNTIME_DIR=/run/user/1001 $AGL_SCREENSHOOTER"
92 if [ -z "$AGL_SCREENSHOOTER" ]; then
93 echo "Failed to find agl-screenshooter. Compositor too old?"
97 #echo "Found agl-screenshoooter in $AGL_SCREENSHOOTER"
98 rm -rf /home/agl-driver/agl-screenshot-*.png
100 # give it a bit more time to display
103 if do_screenshot ; then
104 echo "Screenshot taken"
106 echo "##################################"
107 journalctl --no-pager -a -b /usr/bin/agl-compositor
108 echo "##################################"
112 REF_IMAGE_SHA1SUM=`sha1sum ${REF_IMAGE} | awk -F ' ' '{print $1}'`
113 IMAGE_SHA1SUM=`sha1sum /home/agl-driver/agl-screenshot-*.png | awk -F ' ' '{print $1}'`
115 if [ "${REF_IMAGE_SHA1SUM}" == "${IMAGE_SHA1SUM}" ]; then
116 echo "Screenshot matches the reference image"
119 echo "Screenshot does not match the reference image"
121 for i in agl-screenshot-*.png ; do
123 echo "################################################################"
124 ( curl --upload-file "$i" https://transfer.sh/$(basename "$i") && echo "" ) || true
125 echo "################################################################"
128 echo "#########################"
129 cat /run/platform/display/*.log
130 echo "#########################"
131 journalctl -b --no-pager -a
132 echo "#########################"
137 sed -i '/activate-by-default=false/d' /etc/xdg/weston/weston.ini
138 sed -i '/hide-cursor=true/d' /etc/xdg/weston/weston.ini
139 #rm -rf /etc/systemd/system/weston@.service.d
140 rm -rf /etc/default/homescreen
141 systemctl daemon-reload
144 systemctl restart agl-session@agl-driver.service