On 2012-04-09 11:53:17, SREZIC wrote:
Show quoted text> The send() method has the following lines for creating the metabase report:
>
> osversion => $report->{_perl_version}{_osvers},
> archname => $report->{_perl_version}{_archname},
>
> These members are usually set in Test::Reporter::new, from the current
> perl's Config. This means if a report was read using
> Test::Reporter::read (possibly from a completely different system), then
> wrong values will be used here. Test::Reporter::Transport::Metabase
> should instead use $config->{osvers} and $config->{archname}.
>
I am using this fix after reading the saved report ($r isa Test::Reporter after calling ->read):
# XXX 2nd half on another TR bug: set the correct values for
# _archname and _osvers
# See
https://rt.cpan.org/Ticket/Display.html?id=76447
{
use Config::Perl::V ();
my $perlv = $r->{_perl_version}->{_myconfig};
my $config = Config::Perl::V::summary(Config::Perl::V::plv2hash($perlv));
$r->{_perl_version}->{_archname} = $config->{archname};
$r->{_perl_version}->{_osvers} = $config->{osvers};
}
The current behavior leads to wrong values in the metabase. For example, check
http://matrix.cpantesters.org/?dist=Image-Info%201.40_50;os=linux;reports=1 and one of the FAIL reports by Andreas (e.g.
http://www.cpantesters.org/cpan/report/4a5ddf36-5dc4-11e7-8a21-e7e9bee21e72 ): the metabase value says osvers=4.8.0-2-amd64, but it's really osvers=4.9.0-2-amd64