From f6df8518cfe147b7a52c349a67b9ba7e8ba00c10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 9 Jul 2018 16:30:27 +0200 Subject: [PATCH] Adjust tests to gdbm-1.15 --- ....29.0-Remove-ext-GDBM_File-t-fatal.t.patch | 94 +++++++++++++++++++ perl.spec | 10 +- 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch diff --git a/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch b/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch new file mode 100644 index 0000000..bc4ac01 --- /dev/null +++ b/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch @@ -0,0 +1,94 @@ +From 892e8b006aa99ac2c880cdc2a81fd16f06c1a0f3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 9 Jul 2018 16:18:36 +0200 +Subject: [PATCH] Remove ext/GDBM_File/t/fatal.t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +gdbm-1.15 defaults to a memory-mapped I/O and does not report any I/O +errors on store and close operations. Thus ext/GDBM_File/t/fatal.t +test that expects these fatal error reports fails. Because there is +no other way to provoke a fatal error in gdbm-1.15 this patch +removes the test. Future gdbm version promisses reporting a regular +error on closing a database. + +RT#133295 + +Signed-off-by: Petr Písař +--- + MANIFEST | 1 - + ext/GDBM_File/t/fatal.t | 49 ------------------------------------------------- + 2 files changed, 50 deletions(-) + delete mode 100644 ext/GDBM_File/t/fatal.t + +diff --git a/MANIFEST b/MANIFEST +index 95fa539095..b07fed1f54 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -4100,7 +4100,6 @@ ext/GDBM_File/GDBM_File.pm GDBM extension Perl module + ext/GDBM_File/GDBM_File.xs GDBM extension external subroutines + ext/GDBM_File/hints/sco.pl Hint for GDBM_File for named architecture + ext/GDBM_File/Makefile.PL GDBM extension makefile writer +-ext/GDBM_File/t/fatal.t Test the fatal_func argument to gdbm_open + ext/GDBM_File/t/gdbm.t See if GDBM_File works + ext/GDBM_File/typemap GDBM extension interface types + ext/Hash-Util/Changes Change history of Hash::Util +diff --git a/ext/GDBM_File/t/fatal.t b/ext/GDBM_File/t/fatal.t +deleted file mode 100644 +index 0e426d4dbc..0000000000 +--- a/ext/GDBM_File/t/fatal.t ++++ /dev/null +@@ -1,49 +0,0 @@ +-#!./perl -w +-use strict; +- +-use Test::More; +-use Config; +- +-BEGIN { +- plan(skip_all => "GDBM_File was not built") +- unless $Config{extensions} =~ /\bGDBM_File\b/; +- +- # https://rt.perl.org/Public/Bug/Display.html?id=117967 +- plan(skip_all => "GDBM_File is flaky in $^O") +- if $^O =~ /darwin/; +- +- plan(tests => 8); +- use_ok('GDBM_File'); +-} +- +-unlink ; +- +-open my $fh, '<', $^X or die "Can't open $^X: $!"; +-my $fileno = fileno $fh; +-isnt($fileno, undef, "Can find next available file descriptor"); +-close $fh or die $!; +- +-is((open $fh, "<&=$fileno"), undef, +- "Check that we cannot open fileno $fileno. \$! is $!"); +- +-umask(0); +-my %h; +-isa_ok(tie(%h, 'GDBM_File', 'Op_dbmx', GDBM_WRCREAT, 0640), 'GDBM_File'); +- +-isnt((open $fh, "<&=$fileno"), undef, "dup fileno $fileno") +- or diag("\$! = $!"); +-isnt(close $fh, undef, +- "close fileno $fileno, out from underneath the GDBM_File"); +-is(eval { +- $h{Perl} = 'Rules'; +- untie %h; +- 1; +-}, undef, 'Trapped error when attempting to write to knobbled GDBM_File'); +- +-# Observed "File write error" and "lseek error" from two different systems. +-# So there might be more variants. Important part was that we trapped the error +-# via croak. +-like($@, qr/ at .*\bfatal\.t line \d+\.\n\z/, +- 'expected error message from GDBM_File'); +- +-unlink ; +-- +2.14.4 + diff --git a/perl.spec b/perl.spec index be32b46..a25c208 100644 --- a/perl.spec +++ b/perl.spec @@ -81,7 +81,7 @@ License: GPL+ or Artistic Epoch: %{perl_epoch} Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 416%{?dist} +Release: 417%{?dist} Summary: Practical Extraction and Report Language Url: https://www.perl.org/ Source0: https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz @@ -150,6 +150,9 @@ Patch13: perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie # Patch14: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch +# Adjust tests to gdbm-1.15, RT#133295 +Patch15: perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch + # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048 Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -2718,6 +2721,7 @@ Perl extension for Version Objects %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %patch200 -p1 %patch201 -p1 @@ -2739,6 +2743,7 @@ perl -x patchlevel.h \ 'Fedora Patch12: Replace EU::MakeMaker dependency with EU::MM::Utils in IPC::Cmd (bug #1129443)' \ 'Fedora Patch13: Fix executing arybase::_tie_it() in Safe compartement (RT#131588)' \ 'Fedora Patch14: Link XS modules to pthread library to fix linking with -z defs' \ + 'Fedora Patch15: Adjust tests to gdbm-1.15 (RT#133295)' \ 'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ 'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ %{nil} @@ -5027,6 +5032,9 @@ popd # Old changelog entries are preserved in CVS. %changelog +* Mon Jul 09 2018 Petr Pisar - 4:5.28.0-417 +- Adjust tests to gdbm-1.15 (RT#133295) + * Wed Jun 27 2018 Jitka Plesnikova - 4:5.28.0-416 - Stop providing old perl(MODULE_COMPAT_5.26.*)