On Fri, 09 Dec 2022 at 13:45:17 +0000, Simon McVittie wrote: > On Thu, 08 Dec 2022 at 21:55:07 +0100, Paul Gevers wrote: > > With a recent upload of libsdl2 the autopkgtest of cataclysm-dda fails in > > testing when that autopkgtest is run with the binary packages of libsdl2 > > from unstable. It passes when run with only packages from testing. In > > tabular form: > > > > pass fail > > libsdl2 from testing 2.26.0+dfsg-1 > > cataclysm-dda from testing 0.F-3-8 > > all others from testing from testing > > The test is to: > > * run cataclysm-tiles in the background > * wait 15 seconds > * focus the cataclysm-tiles window > * take a screenshot > * use tesseract to do OCR on the window contents > * look for some specific strings in the window contents ... > I can reproduce this with a lxc container inside a bookworm VM: > > $ sudo autopkgtest-build-lxc debian bookworm amd64 > $ apt download libsdl2-2.0-0=2.26.0+dfsg-1 > $ rm -fr ~/artifacts; \ > autopkgtest \ > --no-built-binaries \ > --shell-fail \ > -o ~/artifacts \ > ~/libsdl2-2.0-0_2.26.0+dfsg-1_amd64.deb \ > . \ > -- lxc --sudo autopkgtest-bookworm-amd64
I can also reproduce this by poking a specific libSDL2-2.0.so.0 into the container like this: $ rm -fr ~/artifacts; autopkgtest \ --no-built-binaries \ --test-name=command1 \ --copy ~/libsdl2-2.0-0_2.26.0+dfsg-1_amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.2600.0:/test/libSDL2-2.0.so.0 \ --env=LD_LIBRARY_PATH=/test \ -o ~/artifacts \ . \ -- lxc --sudo autopkgtest-bookworm-amd64 which lets me bisect SDL (in progress) with commands like: $ rm -fr ~/artifacts; ./autogen.sh && \ ./configure && \ make -j5 && \ autopkgtest \ --no-built-binaries \ --test-name=command1 \ --copy $(readlink -f build/.libs/libSDL2-2.0.so.0):/test/libSDL2-2.0.so.0 \ --env=LD_LIBRARY_PATH=/test \ -o ~/artifacts \ /path/to/cataclysm-dda \ -- lxc --sudo autopkgtest-bookworm-amd64 Meanwhile, I also have what I think is a workaround: if d/tests/control and d/tests/cataclysm-tiles install and run a window manager in the Xvfb environment (I used openbox), then it seems cataclysm-tiles becomes correctly full-screen. This seems like a more realistic test-case anyway, because in reality Debian users are going to run cataclysm-tiles in an X11 or Wayland session with a working X11 window manager. smcv
>From a1dadc03c10fd4ad1b81da96e32df19ed777a283 Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@debian.org> Date: Fri, 9 Dec 2022 14:03:03 +0000 Subject: [PATCH] d/tests/test-tiles: Run a window manager inside Xvfb With SDL 2.26, it seems that under some circumstances (lxc but not qemu or podman, for some reason), the window won't become fullscreen without a window manager being present. Games are generally designed to run under a window manager, so it isn't a huge problem if they misbehave without one. Add a simple window manager (openbox) to make this test more realistic. Closes: #1025775 Signed-off-by: Simon McVittie <s...@debian.org> --- debian/tests/control | 2 +- debian/tests/test-tiles | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/tests/control b/debian/tests/control index 86c92df4..4048a43a 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -4,4 +4,4 @@ Depends: cataclysm-dda-curses, expect, locales-all Test-Command: timeout -v 5m xvfb-run -s "-wr" debian/tests/test-tiles Restrictions: allow-stderr, superficial -Depends: cataclysm-dda-sdl, xvfb, xauth, xdotool, scrot, tesseract-ocr, locales-all, pulseaudio +Depends: cataclysm-dda-sdl, openbox, xvfb, xauth, xdotool, scrot, tesseract-ocr, locales-all, pulseaudio diff --git a/debian/tests/test-tiles b/debian/tests/test-tiles index 3aaa133a..3d9f04a5 100755 --- a/debian/tests/test-tiles +++ b/debian/tests/test-tiles @@ -21,7 +21,8 @@ export LANG=en_US.UTF-8 # cdda needs audio or it won't start (#59464) export SDL_AUDIODRIVER=dummy -# start cdda and wait a bit +# start cdda and a window manager, and wait a bit +openbox & cataclysm-tiles & PID=$! sleep 15 -- 2.38.1