#!perl -w use strict; =head1 NAME nodebugwords.t - Checks that there are no words such as DESIGNME, FIXME, DOCUMENTME, XXX and so on left in the source code. Other markers (such as UNIMPLEMENTED, OBSOLESCENT, OBSOLETE) are left alone. =cut use Test::More; unless (eval <<"USE") { use Test::NoBreakpoints qw(all_perl_files); 1; USE plan skip_all => "Test::NoBreakpoints required"; warn $@ if $ENV{DEBUG}; exit; } plan no_plan => 1; foreach my $file (all_perl_files(qw(Build.PL Build lib t))) { next if $file =~ m/nodebugwords\.t/; # Heh. local *FILE; open(FILE, $file) or die "Cannot open $file for reading: $!\n"; my ($badwords_count, $lineno); while () { $lineno++; foreach my $badword (qw(DESIGNME FIXME DOCUMENTME XXX)) { next unless m/\b$badword\b/; diag "$badword found at $file line $lineno"; $badwords_count++; } } ok(! $badwords_count, "no debug words found in $file"); }