t/porting/cmp_version.t: add version skip facility
authorDavid Mitchell <davem@iabyn.com>
Tue, 19 Apr 2011 10:58:55 +0000 (11:58 +0100)
committerDavid Mitchell <davem@iabyn.com>
Tue, 19 Apr 2011 10:58:55 +0000 (11:58 +0100)
Allow it to skip failing for particular versions of particular
modules

t/porting/cmp_version.t

index 7588f6b4f51fb0f1d390b41acd9cf9f13d61ddea..0f923fd6894354a284abfa10aefffaaaab557551 100644 (file)
@@ -63,6 +63,14 @@ my %skip;
     'lib/Exporter/Heavy.pm',
     'win32/FindExt.pm',
 } = ();
+
+# Files to skip just for particular version(s),
+# usually due to some # mix-up
+
+my %skip_versions = (
+    # 'some/sample/file.pm' => [ '1.23', '1.24' ],
+);
+
 my $skip_dirs = qr{^(?:t/lib|cpan)};
 
 my @all_diffs = `git --no-pager diff --name-only $tag_to_compare`;
@@ -107,6 +115,8 @@ foreach my $pm_file (@module_diffs) {
     next if ( ! defined $pm_version || ! defined $orig_pm_version );
     next if ( $pm_version eq 'undef' || $orig_pm_version eq 'undef' ); # sigh
     next if $pm_version ne $orig_pm_version;
+    next if exists $skip_versions{$pm_file}
+        and grep $pm_version eq $_, @{$skip_versions{$pm_file}};
     push @diff => $pm_file unless $pm_eq;
     push @diff => $xs_file unless $xs_eq;
 }