aac91b233a
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/perl-Test-Unit#c818ddca0d68563918c20050f2a901f3bea0d66a
73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
From f34895d59eb4e8d5c266a14e0e7ecba4bf6bb35c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
|
Date: Fri, 20 Jun 2014 14:33:02 +0200
|
|
Subject: [PATCH] Accept all family differences in the AssertTest test
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
The t/assert.t's AssertTest test failed randomly depending on order of
|
|
hash key traversal:
|
|
|
|
not ok ERROR test_assert_deep_equals
|
|
t/tlib/AssertTest.pm:500 - test_assert_deep_equals(Class::Inner::__A20)
|
|
Expected Test::Unit::Failure `(?^mx:^Structures\ begin\ differing\ at: $ \n
|
|
\S*\s* \$a .* = .* (?-x:HASH) .* $ \n
|
|
\S*\s* \$b .* = .* (?-x:not exist))', got `Structures begin differing at:
|
|
$a->{john}{spouse}{spouse}{name} = 'John Doe'
|
|
$b->{john}{spouse}{spouse}{name} = 'Baby Doll'
|
|
'
|
|
|
|
This fixes the test to accept the difference in spouse's name.
|
|
|
|
CPAN RT#87017
|
|
|
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
---
|
|
t/tlib/AssertTest.pm | 22 +++++++++++++++++-----
|
|
1 file changed, 17 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/t/tlib/AssertTest.pm b/t/tlib/AssertTest.pm
|
|
index 7310874..42fa860 100644
|
|
--- a/t/tlib/AssertTest.pm
|
|
+++ b/t/tlib/AssertTest.pm
|
|
@@ -404,10 +404,22 @@ sub test_assert_deep_equals {
|
|
);
|
|
|
|
my $differ = sub {
|
|
- my ($a, $b) = @_;
|
|
- qr/^Structures\ begin\ differing\ at: $ \n
|
|
- \S*\s* \$a .* = .* (?-x:$a) .* $ \n
|
|
- \S*\s* \$b .* = .* (?-x:$b)/mx;
|
|
+ my ($a, $b, $c, $d) = @_;
|
|
+ if (defined $d) {
|
|
+ qr/^Structures\ begin\ differing\ at: $ \n
|
|
+ (?:
|
|
+ \S*\s* \$a .* = .* (?-x:$a) .* $ \n
|
|
+ \S*\s* \$b .* = .* (?-x:$b)
|
|
+ |
|
|
+ \S*\s* \$a .* = .* (?-x:$c) .* $ \n
|
|
+ \S*\s* \$b .* = .* (?-x:$d)
|
|
+ )
|
|
+ /mx,
|
|
+ } else {
|
|
+ qr/^Structures\ begin\ differing\ at: $ \n
|
|
+ \S*\s* \$a .* = .* (?-x:$a) .* $ \n
|
|
+ \S*\s* \$b .* = .* (?-x:$b)/mx;
|
|
+ }
|
|
};
|
|
|
|
my %families; # key=test-purpose, value=assorted circular structures
|
|
@@ -481,7 +493,7 @@ sub test_assert_deep_equals {
|
|
},
|
|
}
|
|
],
|
|
- $differ->( 'HASH', 'not exist') => [$families{orig}, $families{bad_copy}], # test may be fragile due to recursion ordering?
|
|
+ $differ->( 'HASH', 'not exist', 'John Doe', 'Baby Doll') => [$families{orig}, $families{bad_copy}], # test may be fragile due to recursion ordering?
|
|
$differ->("'3'", "'5'") => [ [ \$H, 3 ], [ \$H2, 5 ] ],
|
|
$differ->("'hello'", "'goodbye'") => [ { world => \$H }, { world => \$G } ],
|
|
$differ->("'hello'", "'goodbye'") => [ [ \$H, "world" ], [ \$G, "world" ] ],
|
|
--
|
|
1.9.3
|
|
|