diff options
Diffstat (limited to 'common/scripts/agl-screenshot-test.sh')
-rwxr-xr-x | common/scripts/agl-screenshot-test.sh | 61 |
1 files changed, 35 insertions, 26 deletions
diff --git a/common/scripts/agl-screenshot-test.sh b/common/scripts/agl-screenshot-test.sh index b0c79cd..70806aa 100755 --- a/common/scripts/agl-screenshot-test.sh +++ b/common/scripts/agl-screenshot-test.sh @@ -1,6 +1,9 @@ #!/bin/bash -#set -x +set -x + +XDG_RUNTIME_DIR=/run/user/200 + REF_IMAGE="$1" @@ -19,39 +22,45 @@ sed -i '/^\[core\]/a activate-by-default=false' /etc/xdg/weston/weston.ini # setup homescreen env variable sed -i '/^\[core\]/a hide-cursor=true' /etc/xdg/weston/weston.ini # enable red/green/blue test screen -echo 'HOMESCREEN_DEMO_CI=1' > /etc/afm/unit.env.d/screenshot +echo 'HOMESCREEN_DEMO_CI=1' > /etc/default/homescreen sync systemctl daemon-reload sleep 2 + +# create initial journal cursor file +journalctl /usr/bin/agl-compositor --cursor-file=/tmp/agl-screenshot-cursor > /tmp/first-log 2>&1 + # restart weston@display -systemctl restart weston@display.service +systemctl restart weston.service # e.g. qemu-system-arm takes loooong -sleep 60 -echo "Waiting for compositor to initialize (+60sec)." +sleep 10 +echo "Waiting for compositor to initialize (+10sec)." -if ! grep -q 'Usable area:' /run/platform/display/compositor.log ; then -# e.g. qemu-system-arm takes loooong - echo "Waiting for compositor to initialize (+60sec)." +LOOP=20 +while test $LOOP -ge 1 ; do + + ( mv /tmp/next-log /tmp/prev-log > /dev/null 2>&1 ) || true + journalctl /usr/bin/agl-compositor --cursor-file=/tmp/agl-screenshot-cursor > /tmp/next-log 2>&1 + if ! grep -q 'Usable area:' /tmp/next-log ; then + # e.g. qemu-system-arm takes loooong + echo "Waiting for compositor to initialize (+60sec). Loop: $LOOP" sleep 60 -fi -if ! grep -q 'Usable area:' /run/platform/display/compositor.log ; then - # e.g. qemu-system-arm takes loooong - echo "Waiting for compositor to initialize (+120sec)." - sleep 120 -fi + LOOP="$(($LOOP-1))" + continue + fi + break +done + +#read aw -# some take veeeeery long -if ! grep -q 'Usable area:' /run/platform/display/compositor.log ; then - # e.g. qemu-system-arm takes veeery loooong - echo "Waiting for compositor to initialize (+240sec)." - sleep 240 -fi # giving up now -if ! grep -q 'Usable area:' /run/platform/display/compositor.log ; then +if ! grep -q 'Usable area:' /tmp/next-log ; then echo "Marker ('Usable area:') not found. Dumping log." echo "##################################" - cat /run/platform/display/compositor.log + cat /tmp/first-log + cat /tmp/prev-log + cat /tmp/next-log echo "##################################" exit 127 #echo "CONTINUING ANYWAY !" @@ -68,13 +77,13 @@ fi rm -rf agl-screenshot-*.png # give it a bit more time to display -sleep 30 +sleep 10 if $AGL_SCREENSHOOTER; then echo "Screenshot taken" else echo "##################################" - cat /run/platform/display/compositor.log + journalctl -b /usr/bin/agl-compositor echo "##################################" exit 127 fi @@ -107,11 +116,11 @@ fi sed -i '/activate-by-default=false/d' /etc/xdg/weston/weston.ini sed -i '/hide-cursor=true/d' /etc/xdg/weston/weston.ini #rm -rf /etc/systemd/system/weston@.service.d -rm -rf /etc/afm/unit.env.d/screenshot +rm -rf /etc/default/homescreen systemctl daemon-reload sync sleep 2 -systemctl restart weston@display.service +systemctl restart weston.service sleep 10 exit $FINALRET |