diff --git a/pkgs/development/perl-modules/DBIx-Class-0.082820-Adjust-view-dependency-tests-to-work-on-newer-libsql.patch b/pkgs/development/perl-modules/DBIx-Class-0.082820-Adjust-view-dependency-tests-to-work-on-newer-libsql.patch new file mode 100644 index 000000000000..b080771b17dc --- /dev/null +++ b/pkgs/development/perl-modules/DBIx-Class-0.082820-Adjust-view-dependency-tests-to-work-on-newer-libsql.patch @@ -0,0 +1,95 @@ +From 5de3b12e4eecd4efb47e1896dc1d5432bc532568 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 3 Nov 2015 15:22:54 +0100 +Subject: [PATCH] Adjust view-dependency tests to work on newer libsqlite +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Port upstream fix for SQLite-3.9.0 to 0.082820: + +commit 26c663f123032941cb3f61d6cd11869b86716d6d +Author: Peter Rabbitson +Date: Tue Nov 3 14:35:35 2015 +0100 + + Adjust view-dependency tests to work on newer libsqlite + + The test and mechanism behind it is largely useless in these cases, but old + sqlite installations will lurk around for ever, so keep the check while moving + it to xt/ + +The original fix makes the tests author's tests, so they are not run +at all. Let's keep the test running by default until upstream releases +new version. + +CPAN RT#107852 + +Signed-off-by: Petr Písař +--- + t/105view_deps.t | 29 ++++++++++++++++------------- + 1 file changed, 16 insertions(+), 13 deletions(-) + +diff --git a/t/105view_deps.t b/t/105view_deps.t +index 21aa92b..39bb632 100644 +--- a/t/105view_deps.t ++++ b/t/105view_deps.t +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++use DBIx::Class::Optional::Dependencies -skip_all_without => 'deploy'; + + use strict; + use warnings; +@@ -11,15 +11,6 @@ use DBICTest; + use ViewDeps; + use ViewDepsBad; + +-BEGIN { +- require DBIx::Class; +- plan skip_all => 'Test needs ' . +- DBIx::Class::Optional::Dependencies->req_missing_for('deploy') +- unless DBIx::Class::Optional::Dependencies->req_ok_for('deploy'); +-} +- +-use_ok('DBIx::Class::ResultSource::View'); +- + #################### SANITY + + my $view = DBIx::Class::ResultSource::View->new; +@@ -73,10 +64,16 @@ can_ok( $view, $_ ) for qw/new from deploy_depends_on/; + = ViewDepsBad->connect( DBICTest->_database ( quote_char => '"') ); + ok( $schema2, 'Connected to ViewDepsBad schema OK' ); + ++ my $lazy_view_validity = !( ++ $schema2->storage->_server_info->{normalized_dbms_version} ++ < ++ 3.009 ++ ); ++ + #################### DEPLOY2 + + warnings_exist { $schema2->deploy } +- [qr/no such table: main.aba_name_artists/], ++ [ $lazy_view_validity ? () : qr/no such table: main.aba_name_artists/ ], + "Deploying the bad schema produces a warning: aba_name_artists was not created."; + + #################### DOES ORDERING WORK 2? +@@ -106,9 +103,15 @@ can_ok( $view, $_ ) for qw/new from deploy_depends_on/; + } grep { !/AbaNameArtistsAnd2010CDsWithManyTracks/ } + @{ [ $schema2->sources ] }; + ++ $schema2->storage->dbh->do(q( DROP VIEW "aba_name_artists" )) ++ if $lazy_view_validity; ++ + throws_ok { $schema2->resultset('AbaNameArtistsAnd2010CDsWithManyTracks')->next } +- qr/no such table: aba_name_artists_and_2010_cds_with_many_tracks/, +- "Query on AbaNameArtistsAnd2010CDsWithManyTracks throws, because the table does not exist" ++ qr/no such table: (?:main\.)?aba_name_artists/, ++ sprintf( ++ "Query on AbaNameArtistsAnd2010CDsWithManyTracks throws, because the%s view does not exist", ++ $lazy_view_validity ? ' underlying' : '' ++ ) + ; + } + +-- +2.4.3 diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 907a9c9ca7be..3f17322657ac 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3150,6 +3150,7 @@ let self = _self // overrides; _self = with self; { patches = [ # Fix test error inside t/52leaks.t ../development/perl-modules/dbix-class-fix-52leaks.patch + ../development/perl-modules/DBIx-Class-0.082820-Adjust-view-dependency-tests-to-work-on-newer-libsql.patch ]; meta = { homepage = http://www.dbix-class.org/;