Fixed typo (missing "test" command); moved screenshot loop to a separate script

This commit is contained in:
Georges Dupéron 2018-07-07 15:47:54 +02:00
parent 4c5c0cfa53
commit 5daa80a125
3 changed files with 34 additions and 5 deletions

View File

@ -43,4 +43,4 @@ test: $(tests) Makefile
.PHONY: $(tests)
$(tests): $(os_filename) ../deploy-screenshots Makefile
(cd .. && ./utils/gui-wrapper.sh 800x600x24 ./$@.sh example-os/$<)
cd .. && ./utils/gui-wrapper.sh 800x600x24 ./$@.sh example-os/$<

View File

@ -9,13 +9,19 @@ bg="$(mktemp --suffix='.png')"
anim="$(mktemp -d)"
# Create solid black background
convert -size "$(echo "$resolution" | cut -d 'x' -f1-2)" tile:pattern:checkerboard "$bg"
convert -size "$(echo "$resolution" | cut -d 'x' -f1-2)" \
tile:pattern:checkerboard \
-auto-level +level-colors 'gray(192),gray(128)' \
"$bg"
xvfb-run -a --server-args="-screen 0 ${resolution}" sh -c 'fluxbox 2>/dev/null & sleep 5; fbsetbg -f "'"$bg"'"; sleep 5; (for i in `seq 100`; do scrot "'"$anim"'/$(printf %03d.png $i)"; sleep 0.2; done) & "$@"' utils/gui-wrapper.sh-subshell "$@"
xvfb-run -a --server-args="-screen 0 ${resolution}" sh -c 'fluxbox 2>/dev/null & sleep 5; fbsetbg -f "'"$bg"'"; sleep 5; utils/screenshots-loop.sh "'"$anim"'" & "$@"' utils/gui-wrapper.sh-subshell "$@"
if -n "$(find "$anim"/ -maxdepth 1 -type f -name '*.png')"; then
convert $(ls "$anim"/*.png | sort) ./deploy-screenshots/anim.gif
touch "$anim/stop-screenshots"
for i in `seq 60`; do if test -e "$anim/anim-done"; then break; fi; sleep 1; done
if test -e "$anim/anim.gif"; then
mv "$anim/anim.gif" "./deploy-screenshots/$(basename "$1" .sh)-anim.gif"
fi
cp "$bg" "./deploy-screenshots/$(basename "$1" .sh)-bg-$(basename "$bg")"
# Cleanup
rm "$bg"

23
utils/screenshots-loop.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh
set -e
if test $# -ne 1 || test "$1" = "-h" -o "$1" = "--help"; then
echo "Usage: $0 path/to/screenshots/directory"
exit 1
fi
screenshots_dir="$1"
for i in `seq 100`; do
if test -e "$screenshots_dir/stop-screenshots"; then
break
fi
scrot "$screenshots_dir/$(printf %03d.png $i)" || break
sleep 0.2
done
if test -n "$(find "$screenshots_dir/" -maxdepth 1 -type f -name '*.png')"; then
convert $(ls "$screenshots_dir"/*.png | sort) "$screenshots_dir/anim.gif"
fi
touch "$screenshots_dir/anim-done"