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' );