diff --git a/.travis.yml b/.travis.yml index a5c4cf0..8db0d8a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,12 +2,16 @@ language: c addons: apt: packages: + # graphical environment - scrot + - fluxbox + # emulators - qemu - qemu-system-x86 - qemu-system-arm #- virtualbox - bochs-sdl + # automated GUI testing - sikuli-ide # Missing dependencies for sikuli-ide #- libantlr3-runtime-java # on 16.04 @@ -49,4 +53,4 @@ install: script: - (cd example-os && make) - - xvfb-run -a ./test/${MODE}.sh + - ./utils/gui-wrapper.sh ./test/${MODE}.sh diff --git a/test/all.sh b/test/all.sh index 0fec3f6..366779b 100755 --- a/test/all.sh +++ b/test/all.sh @@ -1,4 +1,4 @@ -xvfb-run ./test/qemu-system-i386.sh -xvfb-run ./test/qemu-system-arm.sh -xvfb-run ./test/virtualbox.sh -xvfb-run ./test/bochs.sh \ No newline at end of file +./utils/gui-wrapper.sh ./test/qemu-system-i386.sh +./utils/gui-wrapper.sh ./test/qemu-system-arm.sh +./utils/gui-wrapper.sh ./test/virtualbox.sh +./utils/gui-wrapper.sh ./test/bochs.sh diff --git a/test/bochs.sh b/test/bochs.sh index f116a7b..e983ff6 100755 --- a/test/bochs.sh +++ b/test/bochs.sh @@ -17,6 +17,6 @@ bochs -qf "$bochsrc" < "$bochscontinue" & pid=$! runsikulix -r test/check-gradient.sikuli -ansi-screenshots/ansi_screenshot.sh +./utils/take-screenshots.sh "$(basename "$0" .sh).png" kill $pid diff --git a/test/qemu-system-i386.sh b/test/qemu-system-i386.sh index 42ab7b3..fa0579d 100755 --- a/test/qemu-system-i386.sh +++ b/test/qemu-system-i386.sh @@ -7,6 +7,6 @@ qemu-system-i386 -drive format=raw,file=${os_file},index=0,if=floppy & pid=$! runsikulix -r test/check-gradient.sikuli -ansi-screenshots/ansi_screenshot.sh +./utils/take-screenshots.sh "$(basename "$0" .sh).png" kill $pid \ No newline at end of file diff --git a/test/virtualbox.sh b/test/virtualbox.sh index 3b881b0..0a5d3ba 100755 --- a/test/virtualbox.sh +++ b/test/virtualbox.sh @@ -18,7 +18,7 @@ VBoxManage startvm "$vmname" --type sdl & pid=$! runsikulix -r test/check-gradient.sikuli -ansi-screenshots/ansi_screenshot.sh +./utils/take-screenshots.sh "$(basename "$0" .sh).png" VBoxManage controlvm "$vmname" poweroff wait $pid diff --git a/ansi-screenshots/ansi_screenshot.sh b/utils/ansi-screenshots/ansi_screenshot.sh similarity index 100% rename from ansi-screenshots/ansi_screenshot.sh rename to utils/ansi-screenshots/ansi_screenshot.sh diff --git a/ansi-screenshots/to_ansi.sh b/utils/ansi-screenshots/to_ansi.sh similarity index 100% rename from ansi-screenshots/to_ansi.sh rename to utils/ansi-screenshots/to_ansi.sh diff --git a/ansi-screenshots/travis-palette.gif b/utils/ansi-screenshots/travis-palette.gif similarity index 100% rename from ansi-screenshots/travis-palette.gif rename to utils/ansi-screenshots/travis-palette.gif diff --git a/utils/gui-wrapper.sh b/utils/gui-wrapper.sh new file mode 100755 index 0000000..c3eaa19 --- /dev/null +++ b/utils/gui-wrapper.sh @@ -0,0 +1,2 @@ +#!/bin/sh +xvfb-run -a sh -c 'fluxbox 2>/dev/null & sleep 3; "$@"' utils/gui-wrapper.sh-subshell "$@" \ No newline at end of file diff --git a/utils/take-screenshots.sh b/utils/take-screenshots.sh new file mode 100755 index 0000000..a0ae229 --- /dev/null +++ b/utils/take-screenshots.sh @@ -0,0 +1,2 @@ +./utils/ansi-screenshots/ansi_screenshot.sh +scrot "$1" \ No newline at end of file