The following commit has been merged in the master branch:
commit 9128e07bc3f00eda3e407593ae3e7a7ca3886e7e
Author: Niels Thykier <[email protected]>
Date:   Mon Nov 21 23:33:31 2011 +0100

    changelog-format: Cope with multi-line "release headers"
    
    Signed-off-by: Niels Thykier <[email protected]>

diff --git a/t/scripts/changelog-format.t b/t/scripts/changelog-format.t
index 6c85cf8..ab18a80 100755
--- a/t/scripts/changelog-format.t
+++ b/t/scripts/changelog-format.t
@@ -32,6 +32,7 @@ plan skip_all => 'Only valid for regular Debian releases'
 my $changes = $changelog->dpkg()->{'Changes'};
 my $line = 0;
 my $prev_head = '';
+my $release_header = 0;
 
 foreach (split /\n/,$changes) {
     # Parse::DebianChangelog adds an empty line at the beginning:
@@ -41,6 +42,11 @@ foreach (split /\n/,$changes) {
     s/^ //;
     $line++;
 
+    if (m/^\s*$/o) {
+        $release_header = 0;
+        next;
+    }
+
     my $spaces = 0;
     $spaces++ while (s/^\s//);
 
@@ -61,9 +67,15 @@ foreach (split /\n/,$changes) {
        } elsif ($line == 3) {
            ok(m/^[A-Z]/, 'line is the release header')
                or diag("line: $line");
+            $release_header = 1;
        } else {
-           fail('line is a bullet list item');
-           diag("line: $line");
+            # Unless this is a multi-line release header, it should
+            # have been a bullet list.  Also limit the length of the
+            # release header.
+            unless ($release_header && $line < 7) {
+                fail('line is a bullet list item');
+                diag("line: $line");
+            }
        }
     } elsif ($spaces == 4) {
        ok(m/^\+/, 'line is a sub-item of a bullet-list item')
@@ -80,7 +92,7 @@ foreach (split /\n/,$changes) {
        ok($prev_head eq '-', 'line is a continuation of tag change')
            or diag("line: $line");
     } else {
-       ok(m/^(:?\.|lintian.+)$/, 'line is either empty, or entry header')
+       ok(m/^(:?\.|lintian.+)$/, 'line is an entry header')
            or diag("line: $line");
     }
 

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to