[perl-DBD-SQLite] Fix tests with sqlite >= 3.8.2

Petr Pisar ppisar at fedoraproject.org
Wed Jan 29 10:00:53 UTC 2014


commit 93072d486480034ed8c0c9aaa46cc8bad3dbad61
Author: Petr Písař <ppisar at redhat.com>
Date:   Wed Jan 29 10:37:01 2014 +0100

    Fix tests with sqlite >= 3.8.2

 ...e-1.40-check_only_whether_sort_is_defined.patch |   26 +++++++++
 DBD-SQLite-1.41_03-adapt_sqlite_3_8_2.patch        |   56 ++++++++++++++++++++
 perl-DBD-SQLite.spec                               |   11 ++++-
 3 files changed, 92 insertions(+), 1 deletions(-)
---
diff --git a/DBD-SQLite-1.40-check_only_whether_sort_is_defined.patch b/DBD-SQLite-1.40-check_only_whether_sort_is_defined.patch
new file mode 100644
index 0000000..b7ece4d
--- /dev/null
+++ b/DBD-SQLite-1.40-check_only_whether_sort_is_defined.patch
@@ -0,0 +1,26 @@
+From 6458091dbcf08c5fed462f43a52254e57ef154aa Mon Sep 17 00:00:00 2001
+From: Kenichi Ishigaki <ishigaki at cpan.org>
+Date: Tue, 27 Aug 2013 12:14:45 +0900
+Subject: [PATCH] check only whether sort is defined or not, as sort may be
+ zero under the new query planner introduced in SQLite 3.8.0
+
+---
+ t/53_status.t | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/53_status.t b/t/53_status.t
+index 50b29e0..141e4ec 100644
+--- a/t/53_status.t
++++ b/t/53_status.t
+@@ -46,7 +46,7 @@ for my $func (@CALL_FUNCS) {
+ 		my $num_of_keys = scalar keys %$st_status;
+ 		ok $num_of_keys, "st status: $num_of_keys indicators";
+ 		my $sort = $st_status->{sort};
+-		ok defined $sort && $sort, "num of sort: $sort";
++		ok defined $sort, "num of sort: $sort";
+ 	}
+ }
+ 
+-- 
+1.8.5.1
+
diff --git a/DBD-SQLite-1.41_03-adapt_sqlite_3_8_2.patch b/DBD-SQLite-1.41_03-adapt_sqlite_3_8_2.patch
new file mode 100644
index 0000000..a4ec61e
--- /dev/null
+++ b/DBD-SQLite-1.41_03-adapt_sqlite_3_8_2.patch
@@ -0,0 +1,56 @@
+From f8a45b96f62742351c06fd956a4965004df7226d Mon Sep 17 00:00:00 2001
+From: Kenichi Ishigaki <ishigaki at cpan.org>
+Date: Thu, 9 Jan 2014 02:30:37 +0900
+Subject: [PATCH] error messages have been slightly changed since 3.8.2
+
+---
+ t/07_error.t                      | 2 +-
+ t/39_foreign_keys.t               | 4 ++--
+ t/rt_36838_unique_and_bus_error.t | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/t/07_error.t b/t/07_error.t
+index 68ea9ca..cf4fdb1 100644
+--- a/t/07_error.t
++++ b/t/07_error.t
+@@ -28,4 +28,4 @@ eval {
+ };
+ ok($@, 'Statement 2 generated an error');
+ is( $DBI::err, 19, '$DBI::err ok' );
+-like( $DBI::errstr, qr/column a is not unique/, '$DBI::errstr ok' );
++like( $DBI::errstr, qr/column a is not unique|UNIQUE constraint failed/, '$DBI::errstr ok' );
+diff --git a/t/39_foreign_keys.t b/t/39_foreign_keys.t
+index b7632fc..fc15d89 100644
+--- a/t/39_foreign_keys.t
++++ b/t/39_foreign_keys.t
+@@ -49,7 +49,7 @@ ok insert_track(13, "My Way", 2);
+ # column (3) does not correspond to row in the artist table.
+ 
+ ok !insert_track(14, "Mr. Bojangles", 3);
+-ok $@ =~ qr/foreign key constraint failed/;
++ok $@ =~ qr/foreign key constraint failed/i;
+ 
+ # This succeeds because a NULL is inserted into trackartist. A
+ # corresponding row in the artist table is not required in this case.
+@@ -62,7 +62,7 @@ ok insert_track(14, "Mr. Bojangles", undef);
+ # artist table.
+ 
+ ok !update_track(3, "Mr. Bojangles");
+-ok $@ =~ /foreign key constraint failed/;
++ok $@ =~ /foreign key constraint failed/i;
+ 
+ # Insert the required row into the artist table. It is then possible
+ # to update the inserted row to set trackartist to 3 (since a
+diff --git a/t/rt_36838_unique_and_bus_error.t b/t/rt_36838_unique_and_bus_error.t
+index 2c3a819..5a8aafe 100644
+--- a/t/rt_36838_unique_and_bus_error.t
++++ b/t/rt_36838_unique_and_bus_error.t
+@@ -17,4 +17,4 @@ $dbh->do("CREATE TABLE nums (num INTEGER UNIQUE)");
+ ok $dbh->do("INSERT INTO nums (num) VALUES (?)", undef, 1);
+ 
+ eval { $dbh->do("INSERT INTO nums (num) VALUES (?)", undef, 1); };
+-ok $@ =~ /column num is not unique/, $@;  # should not be a bus error
++ok $@ =~ /column num is not unique|UNIQUE constraint failed/, $@;  # should not be a bus error
+-- 
+1.8.5.1
+
diff --git a/perl-DBD-SQLite.spec b/perl-DBD-SQLite.spec
index da799e2..1d3c04a 100644
--- a/perl-DBD-SQLite.spec
+++ b/perl-DBD-SQLite.spec
@@ -1,12 +1,16 @@
 Name:           perl-DBD-SQLite
 Version:        1.40
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        SQLite DBI Driver
 Group:          Development/Libraries
 License:        GPL+ or Artistic
 URL:            http://search.cpan.org/dist/DBD-SQLite/
 Source0:        http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-%{version}.tar.gz
 patch0:         perl-DBD-SQLite-bz543982.patch
+# Fix tests with sqlite >= 3.8.0, in upstram after 1.40, bug #1058709
+Patch1:         DBD-SQLite-1.40-check_only_whether_sort_is_defined.patch
+# Fix tests with sqlite >= 3.8.2, in upstream after 1.41_03, bug #1058709
+Patch2:         DBD-SQLite-1.41_03-adapt_sqlite_3_8_2.patch
 # if sqlite >= 3.1.3 then
 #   perl-DBD-SQLite uses the external library
 # else
@@ -45,6 +49,8 @@ libraries.
 %prep
 %setup -q -n DBD-SQLite-%{version}
 %patch0 -p1 -b .bz543982
+%patch1 -p1
+%patch2 -p1
 
 %build
 CFLAGS="%{optflags}" perl Makefile.PL INSTALLDIRS=vendor
@@ -66,6 +72,9 @@ make test
 %{_mandir}/man3/*.3pm*
 
 %changelog
+* Wed Jan 29 2014 Petr Pisar <ppisar at redhat.com> - 1.40-3
+- Fix tests with sqlite >= 3.8.2 (bug #1058709)
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.40-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list