Factor out author count anouncement, making it seen on plain installs
Peter Rabbitson [Thu, 26 Feb 2015 18:22:22 +0000 (19:22 +0100)]
t/zzzzzzz_authors.t [new file with mode: 0644]
xt/authors.t

diff --git a/t/zzzzzzz_authors.t b/t/zzzzzzz_authors.t
new file mode 100644 (file)
index 0000000..ce9a217
--- /dev/null
@@ -0,0 +1,15 @@
+use warnings;
+use strict;
+
+use Test::More 'no_plan';
+
+my $authorcount = scalar do {
+  open (my $fh, '<', 'AUTHORS') or die "Unable to open AUTHORS - can't happen: $!\n";
+  map { chomp; ( ( ! $_ or $_ =~ /^\s*\#/ ) ? () : $_ ) } <$fh>;
+} or die "Known AUTHORS file seems empty... can't happen...";
+
+# do not announce anything under travis - we are watching for STDERR silence
+diag "\n\n$authorcount contributors made this library what it is today\n\n"
+  unless ($ENV{TRAVIS}||'') eq 'true';
+
+ok 1;
index 48e693f..e5bc2cd 100644 (file)
@@ -38,27 +38,18 @@ is_deeply (
 
 my $email_re = qr/( \< [^\<\>]+ \> ) $/x;
 
-my (%known_authors, $count);
+my %known_authors;
 for (@known_authors) {
   my ($name_email) = m/ ^ (?: [^\:]+ \: \s )? (.+) /x;
   my ($email) = $name_email =~ $email_re;
 
-  if (
+  fail "Duplicate found: $name_email" if (
     $known_authors{$name_email}++
       or
     ( $email and $known_authors{$email}++ )
-  ) {
-    fail "Duplicate found: $name_email";
-  }
-  else {
-    $count++;
-  }
+  );
 }
 
-# do not announce anything under travis - we are watching for STDERR silence
-diag "\n\n$count contributors made this library what it is today\n\n"
-  unless ($ENV{TRAVIS}||'') eq 'true';
-
 # augh taint mode
 if (length $ENV{PATH}) {
   ( $ENV{PATH} ) = join ( $Config{path_sep},