From 3135f1c71351aae64e967dba31f7076d89355a3b Mon Sep 17 00:00:00 2001 From: "Andreas J. Koenig" Date: Wed, 23 Dec 2009 03:31:23 +0100 Subject: [PATCH] take perl version from first para if summary is lost --- Changes | 9 +++++++++ MANIFEST | 1 + lib/CPAN/Testers/ParseReport.pm | 9 ++++++++- t/ctgetreports.t | 22 ++++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index 25bd2a1..150b0f5 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,12 @@ +2009-12-23 Andreas J. Koenig + + * release 0.1.10 + + * if the summary at the end doesn't provide a perl version then use the + one from the first paragraph + + * junk CARRIAGE RETURNs at end of line in time + 2009-12-09 Andreas J. Koenig * release 0.1.9 diff --git a/MANIFEST b/MANIFEST index a0f9c88..f1cdb70 100644 --- a/MANIFEST +++ b/MANIFEST @@ -156,5 +156,6 @@ t/var/nntp-testers/5012315 t/var/nntp-testers/5698506 t/var/nntp-testers/5834678 t/var/nntp-testers/5928865 +t/var/nntp-testers/6115651 t/var/nntp-testers/6422067 TODO diff --git a/lib/CPAN/Testers/ParseReport.pm b/lib/CPAN/Testers/ParseReport.pm index 18dddd8..fa17619 100644 --- a/lib/CPAN/Testers/ParseReport.pm +++ b/lib/CPAN/Testers/ParseReport.pm @@ -29,7 +29,7 @@ CPAN::Testers::ParseReport - parse reports to www.cpantesters.org from various s =cut -use version; our $VERSION = qv('0.1.9'); +use version; our $VERSION = qv('0.1.10'); =head1 SYNOPSIS @@ -490,6 +490,7 @@ sub parse_report { my $expect_prereq = 0; my $expect_toolchain = 0; my $expecting_toolchain_soon = 0; + my $fallback_p5 = ""; my $in_summary = 0; my $in_summary_seen_platform = 0; @@ -605,6 +606,9 @@ sub parse_report { $extract{"meta:writer"} = "CPANPLUS $1"; } elsif (/created (?:automatically )?by (\S+)/) { $extract{"meta:writer"} = $1; + if (/\s+on\s+perl\s+(\S+),/) { + $fallback_p5 = $1; + } } elsif (/This report was machine-generated by (\S+) (\S+)/) { $extract{"meta:writer"} = "$1 $2"; } @@ -772,6 +776,9 @@ sub parse_report { $expecting_toolchain_soon=1; } } # LINE + if (! $extract{"meta:perl"} && $fallback_p5) { + $extract{"meta:perl"} = $fallback_p5; + } if ($Opt{solve}) { $extract{id} = $id; if ($extract{"conf:osvers"} && $extract{"conf:archname"}) { diff --git a/t/ctgetreports.t b/t/ctgetreports.t index e242d73..8533828 100644 --- a/t/ctgetreports.t +++ b/t/ctgetreports.t @@ -358,6 +358,28 @@ my $plan; is $extract->{'qr:(Failed test\s+\S+.*)'}, q{Failed test 'Pod coverage on App::Pm2Port'}, "report $id: qr...Failed test..."; } +{ + BEGIN { + $plan += 1; + } + my $id = 6115651; + my %Opt = ( + 'local' => 1, + 'cachedir' => 't/var', + 'quiet' => 1, + 'dumpvars' => ".", + 'report' => $id, + ); + my $dumpvars = {}; + my $extract = CPAN::Testers::ParseReport::parse_report + ( + "t/var/nntp-testers/$id", + $dumpvars, + %Opt, + ); + is $extract->{'meta:perl'}, q{5.11.2}, "report $id: meta:perl"; +} + unlink "ctgetreports.out"; BEGIN { -- 2.11.4.GIT