perl-DBIx-Class: 0.082801 -> 0.082820

This commit is contained in:
Robert Helgesson 2015-11-10 21:15:04 +01:00
parent 9da27816cc
commit 5bc1ddd78f
3 changed files with 34 additions and 59 deletions

View File

@ -0,0 +1,23 @@
From e9d552de92cde6552f35cd45a3572df1e25609cc Mon Sep 17 00:00:00 2001
From: Peter Rabbitson <ribasushi@cpan.org>
Date: Tue, 19 May 2015 05:49:48 +0200
Subject: [PATCH] Make sure tests pass without a compiler present (another step
to RT#74706)
--- a/t/52leaks.t
+++ b/t/52leaks.t
@@ -446,6 +446,14 @@ for my $addr (keys %$weak_registry) {
delete $weak_registry->{$addr}
unless $cleared->{hash_merge_singleton}{$weak_registry->{$addr}{weakref}{behavior}}++;
}
+ elsif ($names =~ /^B::Hooks::EndOfScope::PP::_TieHintHashFieldHash/m) {
+ # there is one tied lexical which stays alive until GC time
+ # https://metacpan.org/source/ETHER/B-Hooks-EndOfScope-0.15/lib/B/Hooks/EndOfScope/PP/FieldHash.pm#L24
+ # simply ignore it here, instead of teaching the leaktracer to examine ties
+ # the latter is possible yet terrible: https://github.com/dbsrgits/dbix-class/blob/v0.082820/t/lib/DBICTest/Util/LeakTracer.pm#L113-L117
+ delete $weak_registry->{$addr}
+ unless $cleared->{bheos_pptiehinthashfieldhash}++;
+ }
elsif ($names =~ /^DateTime::TimeZone::UTC/m) {
# DT is going through a refactor it seems - let it leak zones for now
delete $weak_registry->{$addr};

View File

@ -1,52 +0,0 @@
diff --git a/t/multi_create/standard.t b/t/multi_create/standard.t
index 5a02947..6c1efd8 100644
--- a/t/multi_create/standard.t
+++ b/t/multi_create/standard.t
@@ -444,7 +444,11 @@ throws_ok ( sub {
#$t->cd($t->new_related('cd', { artist => undef } ) );
#$t->{_rel_in_storage} = 0;
$t->insert;
-}, qr/cd.artist may not be NULL/, "Exception propogated properly");
+}, qr/DBI Exception.+(?x:
+ \QNOT NULL constraint failed: cd.artist\E
+ |
+ \Qcd.artist may not be NULL\E
+)/s, "Exception propogated properly");
lives_ok ( sub {
$schema->resultset('CD')->create ({
diff --git a/t/relationship/update_or_create_multi.t b/t/relationship/update_or_create_multi.t
index 8710048..c7cce7a 100644
--- a/t/relationship/update_or_create_multi.t
+++ b/t/relationship/update_or_create_multi.t
@@ -69,7 +69,12 @@ throws_ok {
year => 2020,
title => 'the best thing since sliced bread',
})
-} qr/\Qcd.artist may not be NULL/, 'ambiguous find + create failed';
+} qr/DBI Exception.+(?x:
+ \QNOT NULL constraint failed: cd.artist\E
+ |
+ \Qcd.artist may not be NULL\E
+)/s, 'ambiguous find + create failed'
+;
# expect a create, after a failed search using *only* the
# *current* relationship and the unique column constraints
diff --git a/t/storage/error.t b/t/storage/error.t
index d5980eb..61d6782 100644
--- a/t/storage/error.t
+++ b/t/storage/error.t
@@ -15,7 +15,11 @@ warnings_are ( sub {
sub {
$schema->resultset('CD')->create({ title => 'vacation in antarctica' })
},
- qr/DBI Exception.+cd\.artist.+NULL/s
+ qr/DBI Exception.+(?x:
+ \QNOT NULL constraint failed: cd.artist\E
+ |
+ \Qcd.artist may not be NULL\E
+ )/s
); # as opposed to some other error
}, [], 'No warnings besides exception' );

View File

@ -3108,19 +3108,23 @@ let self = _self // overrides; _self = with self; {
};
};
DBIxClass = buildPerlPackage {
name = "DBIx-Class-0.082801";
DBIxClass = buildPerlPackage rec {
name = "DBIx-Class-0.082820";
src = fetchurl {
url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082801.tar.gz;
sha256 = "889d6f9139d8e73f5524dfa211019126042e84cb7a0ec30cd2ed7d315d73484b";
url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
sha256 = "7b6083a1273d474d785aa93581dc1da334bbe5d83c741574ee2e3942559daeb9";
};
buildInputs = [ DBDSQLite PackageStash TestDeep TestException TestWarn ];
propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction HashMerge MROCompat ModuleFind Moo PathClass SQLAbstract ScopeGuard SubName TryTiny namespaceclean ];
doCheck = false;
buildInputs = [ DBDSQLite PackageStash SQLTranslator TestDeep TestException TestWarn ];
propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction HashMerge MROCompat ModuleFind Moo PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
patches = [
# Fix test error inside t/52leaks.t
../development/perl-modules/dbix-class-fix-52leaks.patch
];
meta = {
homepage = http://www.dbix-class.org/;
description = "Extensible and flexible object <-> relational mapper";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
maintainers = [ maintainers.rycee ];
};
};