This is an automated email from the git hooks/post-receive script. intrigeri pushed a commit to branch master in repository libparse-debianchangelog-perl.
commit 86b5eddf189966599e323882c4cc2eb4f6ce3c42 Author: Frank Lichtenheld <fr...@lichtenheld.de> Date: Mon Jul 16 03:25:07 2007 +0200 Parse::DebianChangelog: Be less trigger-happy about old-format entries We have a very general pattern that will trigger on pretty much any non-whitespace string alone on a line. That's way too broad and will probably hide many errors. For now at least require the first char to be alpha-numeric so it doesn't trigger on stuff like '+0200'. Add regression test. --- lib/Parse/DebianChangelog.pm | 2 +- t/Parse-DebianChangelog.t | 15 ++++++++++++++- t/examples/misplaced-tz | 12 ++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/Parse/DebianChangelog.pm b/lib/Parse/DebianChangelog.pm index fb5e469..0fc790b 100644 --- a/lib/Parse/DebianChangelog.pm +++ b/lib/Parse/DebianChangelog.pm @@ -382,7 +382,7 @@ sub parse { || m/^Changes from version (.*) to (.*):/io || m/^Changes for [\w.+-]+-[\w.+-]+:?$/io || m/^Old Changelog:$/io - || m/^(?:\d+:)?[\w.+~-]+:?$/o) { + || m/^(?:\d+:)?\w[\w.+~-]*:?$/o) { # save entries on old changelog format verbatim # we assume the rest of the file will be in old format once we # hit it for the first time diff --git a/t/Parse-DebianChangelog.t b/t/Parse-DebianChangelog.t index 333bcf0..0fea530 100644 --- a/t/Parse-DebianChangelog.t +++ b/t/Parse-DebianChangelog.t @@ -14,7 +14,10 @@ use XML::Simple; BEGIN { my $no_examples = 3; - my $no_tests = $no_examples * 13 + 49; + my $no_err_examples = 1; + my $no_tests = $no_examples * 13 + + $no_err_examples * 2 + + 49; require Test::More; import Test::More tests => $no_tests, ; @@ -234,4 +237,14 @@ is( $str_data, $save_data, "Compare result of parse from string with result of parse from file" ); +foreach my $test (( [ 't/examples/misplaced-tz', 6 ])) { + my $file = shift @$test; + my $changes = Parse::DebianChangelog->init( { infile => $file, + quiet => 1 } ); + my @errors = $changes->get_parse_errors(); + + ok( @errors, 'errors occoured' ); + is_deeply( [ map { $_->[1] } @errors ], $test, 'check line numbers' ); + +} diff --git a/t/examples/misplaced-tz b/t/examples/misplaced-tz new file mode 100644 index 0000000..39dc8e3 --- /dev/null +++ b/t/examples/misplaced-tz @@ -0,0 +1,12 @@ +error-tz (1.1-1) unstable; urgency=low + + * + + -- Frank Lichtenheld <dj...@debian.org> Mon, 16 Jul 2007 02:54:18 +0200 ++0200 + +error-tz (1.0-1) unstable; urgency=low + + * + + -- Frank Lichtenheld <dj...@debian.org> Mon, 16 Jul 2007 02:54:18 +0200 -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libparse-debianchangelog-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits