From 41bdf0e28de969ebc2e0d1daedae6723a79a46e7 Mon Sep 17 00:00:00 2001 From: Wouter van Oijen Date: Fri, 14 Jul 2006 11:13:11 +0000 Subject: [PATCH] Better diagnostics for Whitespace test --- t/Whitespace.t | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/t/Whitespace.t b/t/Whitespace.t index 95378ccf8..6b15faee5 100644 --- a/t/Whitespace.t +++ b/t/Whitespace.t @@ -13,15 +13,29 @@ use FindBin qw($Bin); use lib "$FindBin::Bin/lib"; use File::Find; -use Test::More tests => 1; # increment this value for each test you create +use Test::More; use WebGUI::Test; my (@modules, @failedModules); my $wgLib = WebGUI::Test->lib; File::Find::find( \&getWebGUIModules, $wgLib); -my $numFailedModules = checkModules(); -is($numFailedModules, 0, "No erroneous whitespace in or before POD"); +plan tests => scalar(@modules); + +foreach my $module (@modules) { + open(FILE, "< $module") or die "Can't open file $module"; + my @content = ; + close FILE; + + my $lineNumber = checkContent(\@content); + is($lineNumber, 0, "Whitespace test for $module"); + + if ($lineNumber > 0) { + push(@failedModules, $module); + diag("Failed on $module, near line $lineNumber"); + } +} +my $numFailedModules = scalar(@failedModules); if ($numFailedModules) { print "\n# The folling modules have erroneous whitespace in or before POD:\n"; @@ -37,19 +51,6 @@ sub getWebGUIModules { push( @modules, $File::Find::name ) if /\.pm$/; } -sub checkModules { - foreach my $module (@modules) { - open(FILE, "< $module") or die "Can't open file $module"; - my @content = ; - close FILE; - - if (checkContent(\@content)) { - push(@failedModules, $module); - } - } - return scalar(@failedModules); -} - #--------------------------------------------------------------------- # Note: this test checks for non-empty lines before POD commands # which are not detected by podchecker, but are causing problems @@ -61,15 +62,16 @@ sub checkContent { my @content = @{$content}; my $podAllowed = 0; + my $lineNumber = 1; foreach my $line (@content) { chomp $line; my $isPodWord = ($line =~ m/^=/); if ($isPodWord && !$podAllowed) { - diag $line; - return 1; + return $lineNumber; } # POD is allowed on next line if current line is empty $podAllowed = ($line eq ''); + $lineNumber++; } return 0;