From c71d14fbbfdc39521302cbbee9096dbf4e9d63bd698548ca7cc702c8b26bba09 Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Wed, 2 Nov 2022 12:02:41 +0000 Subject: [PATCH] - Add fix-tests.patch to fix the test run in the rpmbuild container without access to /dev/input. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PySDL2?expand=0&rev=22 --- fix-tests.patch | 105 ++++++++++++++++++++++++++++++++++++++++++ python-PySDL2.changes | 6 +++ python-PySDL2.spec | 13 ++---- 3 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 fix-tests.patch diff --git a/fix-tests.patch b/fix-tests.patch new file mode 100644 index 0000000..e72b90e --- /dev/null +++ b/fix-tests.patch @@ -0,0 +1,105 @@ +Index: PySDL2-0.9.14/sdl2/test/conftest.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/conftest.py ++++ PySDL2-0.9.14/sdl2/test/conftest.py +@@ -13,7 +13,8 @@ SKIP_ANNOYING = os.getenv("PYSDL2_ALL_TE + def with_sdl(): + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_TIMER) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + yield + sdl2.SDL_Quit() +Index: PySDL2-0.9.14/sdl2/test/audio_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/audio_test.py ++++ PySDL2-0.9.14/sdl2/test/audio_test.py +@@ -23,7 +23,8 @@ def with_sdl_audio(): + sdl2.SDL_Quit() + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_AUDIO) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + yield + sdl2.SDL_Quit() +Index: PySDL2-0.9.14/sdl2/test/hints_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/hints_test.py ++++ PySDL2-0.9.14/sdl2/test/hints_test.py +@@ -9,7 +9,8 @@ from sdl2.stdinc import SDL_TRUE, SDL_FA + def with_sdl(): + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + yield + sdl2.SDL_Quit() +Index: PySDL2-0.9.14/sdl2/test/sdlmixer_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/sdlmixer_test.py ++++ PySDL2-0.9.14/sdl2/test/sdlmixer_test.py +@@ -32,7 +32,8 @@ def with_sdl_mixer(): + # Initialize SDL2 with video and audio subsystems + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_AUDIO) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + # Initialize SDL_mixer and open an audio device + flags = ( +Index: PySDL2-0.9.14/sdl2/test/touch_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/touch_test.py ++++ PySDL2-0.9.14/sdl2/test/touch_test.py +@@ -18,7 +18,8 @@ def with_sdl(): + sdl2.SDL_SetHint(sdl2.SDL_HINT_MOUSE_TOUCH_EVENTS, b"1") + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + yield + sdl2.SDL_Quit() +@@ -86,4 +87,4 @@ def test_SDL_GetTouchFinger(): + assert finger.contents.id >= 0 + assert 0 <= finger.contents.x <= 1 + assert 0 <= finger.contents.y <= 1 +- +\ No newline at end of file ++ +Index: PySDL2-0.9.14/sdl2/test/sdl_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/sdl_test.py ++++ PySDL2-0.9.14/sdl2/test/sdl_test.py +@@ -40,7 +40,8 @@ def test_SDL_Init(): + def test_SDL_InitSubSystem(): + sdl2.SDL_ClearError() + ret = sdl2.SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + # Test initializing an additional subsystem + assert sdl2.SDL_WasInit(0) & SDL_INIT_TIMER != SDL_INIT_TIMER +Index: PySDL2-0.9.14/sdl2/test/video_test.py +=================================================================== +--- PySDL2-0.9.14.orig/sdl2/test/video_test.py ++++ PySDL2-0.9.14/sdl2/test/video_test.py +@@ -194,7 +194,8 @@ def test_SDL_VideoInitQuit(): + # Test with default driver + assert sdl2.SDL_WasInit(0) & sdl2.SDL_INIT_VIDEO != sdl2.SDL_INIT_VIDEO + ret = sdl2.SDL_VideoInit(None) +- assert sdl2.SDL_GetError() == b"" ++ # Ignore errors like Unable to open /dev/input/... ++ # assert sdl2.SDL_GetError() == b"" + assert ret == 0 + assert sdl2.SDL_GetCurrentVideoDriver() # If initialized, should be string + sdl2.SDL_VideoQuit() diff --git a/python-PySDL2.changes b/python-PySDL2.changes index a4b871b..9dcf893 100644 --- a/python-PySDL2.changes +++ b/python-PySDL2.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Nov 2 11:58:38 UTC 2022 - Daniel Garcia + +- Add fix-tests.patch to fix the test run in the rpmbuild container without + access to /dev/input. + ------------------------------------------------------------------- Wed Nov 2 06:56:40 UTC 2022 - munix9@googlemail.com diff --git a/python-PySDL2.spec b/python-PySDL2.spec index 0476836..e73de5d 100644 --- a/python-PySDL2.spec +++ b/python-PySDL2.spec @@ -25,6 +25,8 @@ Summary: Python ctypes wrapper around SDL2 License: SUSE-Public-Domain URL: https://github.com/py-sdl/py-sdl2 Source: https://files.pythonhosted.org/packages/source/P/PySDL2/PySDL2-%{version}.tar.gz +# PATCH-FIX-OPENSUSE fix-tests.patch to make test work in chroot env without access to /dev/input +Patch0: fix-tests.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} @@ -68,21 +70,12 @@ sed -i 's/\r$//' AUTHORS.txt COPYING.txt README.md %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -############################################# -### Launch a virtual framebuffer X server ### -### (pytest-xvfb is not enough) ### -############################################# -export DISPLAY=%{X_display} -Xvfb %{X_display} >& Xvfb.log & -trap "kill $! || true" EXIT -sleep 10 - export SDL_VIDEODRIVER=dummy export SDL_AUDIODRIVER=dummy export SDL_RENDER_DRIVER=software export PYTHONFAULTHANDLER=1 -%pytest -rfEs || : +%pytest -rfEs %files %{python_files} %license COPYING.txt