Fix testsuite to run with the latest sqlite (bugs.debian.org/591111).
Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
5be71f9381
commit
acf6c396c2
49
0001-Don-t-clean-temporary-files-in-child-processes.patch
Normal file
49
0001-Don-t-clean-temporary-files-in-child-processes.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 89c8a661e61bbf0fb1d1e5050262390649e13f2a Mon Sep 17 00:00:00 2001
|
||||
From: Niko Tyni <ntyni@debian.org>
|
||||
Date: Mon, 23 Aug 2010 08:15:15 +0300
|
||||
Subject: [PATCH] Don't clean temporary files in child processes
|
||||
|
||||
As of SQLite 3.7.0, write locks try to stat() the database
|
||||
file and fail with a 'Disk I/O error' if it is missing. This
|
||||
breaks those tests that fork child processes (namely 08_busy.t
|
||||
and t/28_schemachange.t) because the child process removes
|
||||
the database file in the END block.
|
||||
|
||||
The fix is to disable the clean() function for child processes.
|
||||
|
||||
See <http://bugs.debian.org/591111>
|
||||
---
|
||||
t/lib/Test.pm | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/t/lib/Test.pm b/t/lib/Test.pm
|
||||
index 80e50ce..8d1be25 100644
|
||||
--- a/t/lib/Test.pm
|
||||
+++ b/t/lib/Test.pm
|
||||
@@ -7,6 +7,7 @@ use Exporter ();
|
||||
use File::Spec ();
|
||||
use Test::More ();
|
||||
|
||||
+my $parent;
|
||||
use vars qw{$VERSION @ISA @EXPORT @CALL_FUNCS};
|
||||
BEGIN {
|
||||
$VERSION = '1.29';
|
||||
@@ -15,6 +16,7 @@ BEGIN {
|
||||
|
||||
# Allow tests to load modules bundled in /inc
|
||||
unshift @INC, 'inc';
|
||||
+ $parent = $$;
|
||||
}
|
||||
|
||||
# Always load the DBI module
|
||||
@@ -22,6 +24,7 @@ use DBI ();
|
||||
|
||||
# Delete temporary files
|
||||
sub clean {
|
||||
+ return if $$ != $parent;
|
||||
unlink( 'foo' );
|
||||
unlink( 'foo-journal' );
|
||||
}
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: perl-DBD-SQLite
|
||||
Version: 1.29
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: SQLite DBI Driver
|
||||
|
||||
Group: Development/Libraries
|
||||
@ -8,6 +8,7 @@ License: GPL+ or Artistic
|
||||
URL: http://search.cpan.org/dist/DBD-SQLite/
|
||||
Source0: http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/DBD-SQLite-%{version}.tar.gz
|
||||
patch0: perl-DBD-SQLite-bz543982.patch
|
||||
Patch1: 0001-Don-t-clean-temporary-files-in-child-processes.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
# if sqlite >= 3.1.3 then
|
||||
@ -35,6 +36,7 @@ libraries.
|
||||
%prep
|
||||
%setup -q -n DBD-SQLite-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS" %{__perl} Makefile.PL INSTALLDIRS=vendor
|
||||
@ -67,6 +69,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Aug 24 2010 Adam Tkac <atkac redhat com> - 1.29-4
|
||||
- fix testsuite to run with the latest sqlite (bugs.debian.org/591111)
|
||||
|
||||
* Tue Aug 24 2010 Adam Tkac <atkac redhat com> - 1.29-3
|
||||
- rebuild
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user