Compare commits

...
Sign in to create a new pull request.

7 commits

Author SHA1 Message Date
Petr Písař
e3e5245dca Add upstream tests to gating 2025-10-07 15:48:32 +02:00
Petr Písař
35cce80474 Package the tests 2025-10-07 15:45:37 +02:00
Petr Písař
2b8431735b Adapt tests to SDL-3.2.24 2025-10-07 14:32:46 +02:00
Fedora Release Engineering
492e8dc990 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 03:40:23 +00:00
Petr Písař
24bd6eebf6 Enanle gating 2025-07-11 10:31:23 +02:00
Petr Písař
8f17639327 Adapt t/core_surface.t test to SDL3 2025-07-11 09:56:43 +02:00
Jitka Plesnikova
8e149c39fa Perl 5.42 rebuild 2025-07-07 16:05:22 +02:00
7 changed files with 229 additions and 4 deletions

View file

@ -0,0 +1,56 @@
From 8cd2c619916c09b327c3230b975d1eace2924d58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 7 Oct 2025 14:16:23 +0200
Subject: [PATCH] Adapt to SDL 3.2.24
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
After upgrading SDL from 3.2.22 to 3.2.24 t/core.t started to fail
like this:
# Failed test '[get_error] got error '
# at t/core.t line 69.
# got: ''
# expected: anything else
# Looks like you failed 1 test of 28.
t/core.t ........................ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/28 subtests
(3 TODO tests unexpectedly succeeded)
The failure is triggered by SDL 5594d03da086ab255b1d7ace1496f3a0c109a83d commit
("Leave letterbox borders set to the frame clear color").
SDL_SetVideoMode(640, 480, 232, SDL_ANYFORMAT) kept succeeding, but
SDL_GetError() stopped returning "rect has a negative size" error.
Because the new behavior is more consistent and because the Perl test
checks for SDL::get_error() instead of SDL::Video::set_video_mode()
return value, I conlude that the Perl test wants to test
SDL::get_error() and uses SDL::Video::set_video_mode() only as a way
to produce an error.
Thus this patch uses a different SDL::Video::set_video_mode()
arguments to obtain an error ("Invalid width or height").
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/core.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/core.t b/t/core.t
index 1ccac868..8b35b9bc 100644
--- a/t/core.t
+++ b/t/core.t
@@ -62,7 +62,7 @@ is( SDL_INIT_EVENTTHREAD(), 16777216,
'SDL_INIT_EVENTTHREAD() should also be available'
);
-my $display = SDL::Video::set_video_mode( 640, 480, 232, SDL_ANYFORMAT );
+my $display = SDL::Video::set_video_mode( -1, 480, 232, SDL_ANYFORMAT );
isnt( SDL::get_error(), '', '[get_error] got error ' . SDL::get_error() );
TODO:
--
2.51.0

View file

@ -0,0 +1,62 @@
From 4cc57bf07c5ee60baac971e2b06c342851eeaff2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 7 Oct 2025 15:33:33 +0200
Subject: [PATCH] Read-only t/core_rwops.t
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
t/core_rwops.t used to create a file in the current working directory
and then test that SDL::RWOps can open it, seek in it and read it.
I.e. the test did not perform any write operation, yet setting up the
test required writing.
This unnecessary write prevented from running the tests from
a read-only location.
This patch precreates the test file so that no write operation is
needed when running the test.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/core_rwops.t | 7 +------
test/data/rwops | 1 +
2 files changed, 2 insertions(+), 6 deletions(-)
create mode 100644 test/data/rwops
diff --git a/t/core_rwops.t b/t/core_rwops.t
index 5f40a82f..0c9d5628 100644
--- a/t/core_rwops.t
+++ b/t/core_rwops.t
@@ -11,11 +11,7 @@ my @done = qw/
/;
can_ok( 'SDL::RWOps', @done );
-open FH, '>', '.rwops';
-print FH 'rwops';
-close FH;
-
-my $file = SDL::RWOps->new_file( '.rwops', 'rw' );
+my $file = SDL::RWOps->new_file( 'test/data/rwops', 'r' );
isa_ok( $file, 'SDL::RWOps', '[from_file] returns RWOps' );
#0 SEEK_SET
@@ -35,7 +31,6 @@ SKIP:
is( $blocks, 5, '[read] got ' . $char );
}
$file->close();
-unlink '.rwops';
my @left = qw/
from_fp
from_mem
diff --git a/test/data/rwops b/test/data/rwops
new file mode 100644
index 00000000..d6380184
--- /dev/null
+++ b/test/data/rwops
@@ -0,0 +1 @@
+rwops
\ No newline at end of file
--
2.51.0

View file

@ -0,0 +1,29 @@
From 39c0ab8fc0b2277ece593b9b50f79f6e1ccd1fc5 Mon Sep 17 00:00:00 2001
From: Daniel Kamil Kozar <dkk089@gmail.com>
Date: Thu, 12 Jun 2025 21:43:54 +0200
Subject: [PATCH] core_surface.t: test/data/icon.bmp is really 4 bits per pixel
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/core_surface.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/core_surface.t b/t/core_surface.t
index 897536b6..baa962aa 100644
--- a/t/core_surface.t
+++ b/t/core_surface.t
@@ -51,7 +51,7 @@ is( $image->h, 32, 'image has height' );
my $pixel_format = $image->format;
isa_ok( $pixel_format, 'SDL::PixelFormat' );
-is( $pixel_format->BitsPerPixel, 8, ' BitsPerPixel' );
+is( $pixel_format->BitsPerPixel, 4, ' BitsPerPixel' );
is( $pixel_format->BytesPerPixel, 1, ' BytesPerPixel' );
is( $pixel_format->Rloss, 8, ' Rloss' );
is( $pixel_format->Gloss, 8, ' Gloss' );
--
2.50.1

16
gating.yaml Normal file
View file

@ -0,0 +1,16 @@
--- !Policy
product_versions:
- fedora-rawhide
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

1
perl-SDL.rpmlintrc Normal file
View file

@ -0,0 +1 @@
addFilter('-tests\.noarch: W: no-documentation')

View file

@ -1,6 +1,6 @@
Name: perl-SDL
Version: 2.548
Release: 27%{?dist}
Release: 31%{?dist}
Summary: Simple DirectMedia Layer for Perl
# COPYING: GPL-2.0 text
# lib/pods/SDL.pod: GPL-1.0-or-later OR Artistic-1.0-Perl
@ -26,13 +26,13 @@ Summary: Simple DirectMedia Layer for Perl
# src/SDL.xs: LGPL-2.1-or-later
# src/SDLx/SFont.h: LGPL-2.1-or-later
# src/SDLx/SFont.xs: LGPL-2.1-or-later
## Used at build-time, but not in any binary package
# Build.PL: refers to LGPL
# inc/My/Builder.pm: LGPL-2.1-or-later
# test/data/5x7.fnt: LGPL-2.1-only (see test/data/README)
# test/data/tribe_i.wav: GPL-3.0-only OR LGPL-2.0-only OR CC-BY-SA-3.0
# (see test/data/README; there is a typo in the file
# name)
## Used at build-time, but not in any binary package
# Build.PL: refers to LGPL
# inc/My/Builder.pm: LGPL-2.1-or-later
## Not in any binary package and not used
# META.json: refers to LGPL-2.1
# OFL.txt: OFL-1.1-RFN text
@ -58,6 +58,15 @@ Patch3: SDL-2.548-Fix-reference-counting-in-set_event_filter.patch
# <https://github.com/PerlGameDev/SDL/issues/294>, in upstream after 2.548,
# <https://github.com/PerlGameDev/SDL/pull/309>
Patch4: SDL-2.548-Fix-building-in-ISO-C23.patch
# Adapt t/core_surface.t test to SDL3, incompatible with SDL2, bug #2341036,
# proposed to upstream, <https://github.com/PerlGameDev/SDL/pull/310>
Patch5: SDL-2.548-core_surface.t-test-data-icon.bmp-is-really-4-bits-p.patch
# Adapt t/core.t test to SDL-3.2.24, bug #2401791, proposed upstream,
# <https://github.com/PerlGameDev/SDL/pull/311>
Patch6: SDL-2.548-Adapt-to-SDL-3.2.24.patch
# Make the tests read-only, proposed upstream,
# <https://github.com/PerlGameDev/SDL/pull/312>
Patch7: SDL-2.548-Read-only-t-core_rwops.t.patch
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: libGLU-devel
@ -113,6 +122,11 @@ BuildRequires: perl(threads::shared)
Requires: sil-gentium-basic-book-fonts
%{?perl_default_filter}
# Remove under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::Most\\)$
# Hide private modules
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(SDL::TestTool\\)
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(SDL::TestTool\\)
%description
SDL_perl is a package of Perl modules that provide both functional and
@ -133,6 +147,20 @@ some tasks specific to SDL applications - e.g. packaging SDL
application/game into PAR archive.
%package tests
Summary: Tests for %{name}
License: LGPL-2.1-or-later AND (GPL-3.0-only OR LGPL-2.0-only OR CC-BY-SA-3.0)
BuildArch: noarch
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
Requires: perl(Test::Most) >= 0.21
Requires: sil-gentium-basic-book-fonts
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%autosetup -p1 -n SDL-%{version}
# Delete a bundled font file, code removed with
@ -150,6 +178,11 @@ sed -i -e 's|lib/pods|lib|' MANIFEST
# Disable the sdlx_controller_interface.t test, it hangs on arm
rm t/sdlx_controller_interface.t
sed -i -e '/t\/sdlx_controller_interface\.t/d' MANIFEST
# Help generators to recognize Perl scripts
for F in t/*.t; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build
perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS"
@ -163,6 +196,14 @@ export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print
./Build install destdir=%{buildroot} create_packlist=0
find %{buildroot} -type f -name '*.bs' -a -size 0 -delete
%{_fixperms} %{buildroot}/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}/upstream
cp -a t test %{buildroot}%{_libexecdir}/%{name}/upstream
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/sh
cd %{_libexecdir}/%{name}/upstream && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%files
%license COPYING
@ -185,7 +226,23 @@ find %{buildroot} -type f -name '*.bs' -a -size 0 -delete
%{perl_vendorarch}/Module/Build/SDL.pm
%{_mandir}/man3/Module::Build::SDL.*
%files tests
%{_libexecdir}/%{name}
%changelog
* Tue Oct 07 2025 Petr Pisar <ppisar@redhat.com> - 2.548-31
- Adapt tests to SDL-3.2.24 (bug #2401791)
- Package the tests
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.548-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 11 2025 Petr Pisar <ppisar@redhat.com> - 2.548-29
- Adapt t/core_surface.t test to SDL3 (bug #2341036)
* Mon Jul 07 2025 Jitka Plesnikova <jplesnik@redhat.com> - 2.548-28
- Perl 5.42 rebuild
* Tue Feb 11 2025 Petr Pisar <ppisar@redhat.com> - 2.548-27
- Adapt to GCC 15 (bug #2341036)

4
tests/upstream-tests.fmf Normal file
View file

@ -0,0 +1,4 @@
summary: Upstream tests
component: perl-SDL
require: perl-SDL-tests
test: /usr/libexec/perl-SDL/test