From: Zefram Date: Tue, 27 Aug 2013 15:19:34 +0000 (+0100) Subject: reading tied scalar shrinks it X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-Size.git;a=commitdiff_plain;h=8f3a45df6c12628273451c4921a73c9a9a85c3f5 reading tied scalar shrinks it One of Devel-Size's tests, for a tied scalar visibly growing when the underlying tie object grows, is failing on Perl 5.19.3 because an earlier read of the scalar clears its PV buffer, causing the scalar to shrink. Attached patch makes the test allow for such shrinkage. --- diff --git a/t/magic.t b/t/magic.t index 97770ab..3fa7d05 100644 --- a/t/magic.t +++ b/t/magic.t @@ -46,13 +46,14 @@ SKIP: { my $after_size = total_size($string); cmp_ok($after_size, '>', $before_size, 'size increases due to magic'); is($string, undef, 'No value yet'); + my $small_size = total_size($string); # This is defineately cheating, in that we're poking inside the # implementation of Tie::StdScalar, but if we just write to $string, the way # magic works, the (nice long) value is first written to the regular scalar, # then picked up by the magic. So it grows, which defeats the purpose of the # test. ${tied $string} = 'X' x 1024; - cmp_ok(total_size($string), '>', $after_size + 1024, + cmp_ok(total_size($string), '>', $small_size + 1024, 'the magic object is counted'); }