From b4e5a8f7de560b8b25b2d0cca27d57f7e02941a5 Mon Sep 17 00:00:00 2001 From: "Thomas L. Kjeldsen" Date: Fri, 31 Jan 2020 12:52:26 +0100 Subject: [PATCH] Run tests with an X virtual framebuffer (1024x768) The GitHub-hosted runner is a virtual machine hosted by GitHub. Xvfb on that setup defaults to a virtual screen size of 640x480 (XVFBARGS='-screen 0 640x480x16') which in turn makes the Arduino user interface tests fail with exceptions like this: [junit] org.fest.swing.exception.ActionFailedException: The component to click is out of the boundaries of the screen [junit] at org.fest.swing.exception.ActionFailedException.actionFailure(ActionFailedException.java:33) [junit] at org.fest.swing.core.RobotEventGenerator.pressMouse(RobotEventGenerator.java:74) Setting the xvfb screen size to 1024x768 solves this error. --- .github/workflows/ant.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ant.yml b/.github/workflows/ant.yml index f79d08d5d..a0a91efa9 100644 --- a/.github/workflows/ant.yml +++ b/.github/workflows/ant.yml @@ -18,6 +18,10 @@ jobs: run: | sed -i 's###' build.xml ant clean dist + - name: Install X virtual framebuffer + run: sudo apt-get install -y xvfb - name: Run tests working-directory: ./app - run: ant test + run: xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ant test + - name: Cleanup xvfb + uses: bcomnes/cleanup-xvfb@v1