96 lines
3.1 KiB
Diff
96 lines
3.1 KiB
Diff
|
From 5de3b12e4eecd4efb47e1896dc1d5432bc532568 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||
|
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 <ribasushi@cpan.org>
|
||
|
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ř <ppisar@redhat.com>
|
||
|
---
|
||
|
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
|