about summary refs log tree commit diff
path: root/pkgs/development/perl-modules/DBIx-Class-0.082820-Adjust-view-dependency-tests-to-work-on-newer-libsql.patch
blob: b080771b17dca23d52474d3399c3069999e2b957 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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