threads / patch / 24224

patcht/t9700/test.pl: don't access private object members, use public access methods

Subject: [PATCH] t/t9700/test.pl: don't access private object members, use public access methods

## tl;dr

4 messages between Jun 28, 2010 and Jun 29, 2010. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Brandon Casey· Jun 28, 2010, 22:51 UTC · lore
From: Brandon Casey <drafnel@gmail.com>

This test is accessing private object members of the Test::More and Test::Builder objects. Older versions of Test::More did not implement these variables using a hash.

My system complains as follows:
   Can't coerce array into hash at <snip>/t/t9700/test.pl line 13.
   BEGIN failed--compilation aborted at <snip>/t/t9700/test.pl line 15.

There are public access methods available for retrieving and setting these variables, so let's use them instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---
 t/t9700/test.pl |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Show changes to t/t9700/test.pl +3 −3
diff --git a/t/t9700/test.pl b/t/t9700/test.pl
index f2820d2..671f38d 100755
--- a/t/t9700/test.pl
+++ b/t/t9700/test.pl
@@ -10,8 +10,8 @@ use Test::More qw(no_plan);
 BEGIN {
 	# t9700-perl-git.sh kicks off our testing, so we have to go from
 	# there.
-	Test::More->builder->{Curr_Test} = 1;
-	Test::More->builder->{No_Ending} = 1;
+	Test::More->builder->current_test(1);
+	Test::More->builder->no_ending(1);
 }
 
 use Cwd;
@@ -113,7 +113,7 @@ like($last_commit, qr/^[0-9a-fA-F]{40}$/, 'rev-parse returned hash');
 my $dir_commit = $r2->command_oneline('log', '-n1', '--pretty=format:%H', '.');
 isnt($last_commit, $dir_commit, 'log . does not show last commit');
 
-printf "1..%d\n", Test::More->builder->{Curr_Test};
+printf "1..%d\n", Test::More->builder->current_test;
 
 my $is_passing = eval { Test::More->is_passing };
 exit($is_passing ? 0 : 1) unless $@ =~ /Can't locate object method/;
-- 
1.6.6.2
Ævar Arnfjörð Bjarmason· Jun 29, 2010, 02:19 UTC · re: Brandon Casey · lore

Re: [PATCH] t/t9700/test.pl: don't access private object members, use public access methods

On Mon, Jun 28, 2010 at 22:51, Brandon Casey <casey@nrlssc.navy.mil> wrote:
Show 10 quoted lines
> From: Brandon Casey <drafnel@gmail.com>
>
> This test is accessing private object members of the Test::More and
> Test::Builder objects.  Older versions of Test::More did not implement
> these variables using a hash.
>
> My system complains as follows:
>
>   Can't coerce array into hash at <snip>/t/t9700/test.pl line 13.
>   BEGIN failed--compilation aborted at <snip>/t/t9700/test.pl line 15.
Just for the record, what version of Test::More is that:
    perl -MTest::More -le 'print $Test::More::VERSION'
> There are public access methods available for retrieving and setting these
> variables, so let's use them instead.
>
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
This looks good, sorry for the API mistake on my part.
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Brandon Casey· Jun 29, 2010, 13:21 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH] t/t9700/test.pl: don't access private object members, use public access methods

On 06/28/2010 09:19 PM, Ævar Arnfjörð Bjarmason wrote:
Show 15 quoted lines
> On Mon, Jun 28, 2010 at 22:51, Brandon Casey <casey@nrlssc.navy.mil> wrote:
>> From: Brandon Casey <drafnel@gmail.com>
>>
>> This test is accessing private object members of the Test::More and
>> Test::Builder objects.  Older versions of Test::More did not implement
>> these variables using a hash.
>>
>> My system complains as follows:
>>
>>   Can't coerce array into hash at <snip>/t/t9700/test.pl line 13.
>>   BEGIN failed--compilation aborted at <snip>/t/t9700/test.pl line 15.
> 
> Just for the record, what version of Test::More is that:
> 
>     perl -MTest::More -le 'print $Test::More::VERSION'
0.47 which is available on RHEL 4.X
Show 6 quoted lines
>> There are public access methods available for retrieving and setting these
>> variables, so let's use them instead.
>>
>> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
> 
> This looks good, sorry for the API mistake on my part.
No problem.
-brandon
Junio C Hamano· Jun 29, 2010, 16:33 UTC · re: Brandon Casey · lore

Re: [PATCH] t/t9700/test.pl: don't access private object members, use public access methods

Brandon Casey <casey@nrlssc.navy.mil> writes:
Show 8 quoted lines
>>> There are public access methods available for retrieving and setting these
>>> variables, so let's use them instead.
>>>
>>> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
>> 
>> This looks good, sorry for the API mistake on my part.
>
> No problem.
Thanks, both of you.

← back to recent threads