Signed-off-by: Adam Tkac <atkac@redhat.com>f38
parent
5be71f9381
commit
acf6c396c2
@ -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
|
||||||
|
|
Loading…
Reference in new issue