diff options
Diffstat (limited to 'scratch/sc-vba/testvba/testResult.pl')
-rwxr-xr-x | scratch/sc-vba/testvba/testResult.pl | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/scratch/sc-vba/testvba/testResult.pl b/scratch/sc-vba/testvba/testResult.pl deleted file mode 100755 index b3648b4cf..000000000 --- a/scratch/sc-vba/testvba/testResult.pl +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/perl -w -use File::Temp qw/ tempfile tempdir /; -use File::Basename; -use File::stat; -use File::Copy; - -my $binDir = dirname($0); -my $timestampclean= "perl $binDir/timestampsClean.pl"; -#sub gen_diff($) - -sub testLog -{ - # 2 No Log to compare against - # 1 Log passed - # 0 Log failed - my $result = 0; - my $testfile = shift; - my $dirtocheck = shift; - my $filename = basename($testfile); - $filename = "$logdir/$filename"; - print "processing $testfile $filename\n"; - if ( -f $filename ) { - my $tmpFile; - $dir = tempdir( CLEANUP => 1 ); - ($fh, $tmpFile) = tempfile( DIR => $dir ); - close($fh); - # - my $status = system("diff -U 0 -p $testfile $filename | $timestampclean > $tmpFile"); - my $info = stat($tmpFile) or die "no $tmpFile: $!"; - if ( ($status >>=8) == 0 && ( $info->size == 0) ) { - #print "diff worked size is 0\n"; - $result = 1; - } - elsif ( ($status >>=8) == 0 && ( $info->size > 0) ) - { - #print "diff worked size > 0\n"; - $result = 0; - } - else - { - #print "diff failed size > 0\n"; - $result = 0; - } - } - else - { - #print "not file > 0\n"; - $result = 2; - } - #print "diff result = $result\n"; - return $result; -} - -if ( ! ( $logdir = shift @ARGV ) ) { - print STDERR "No logdir specified!\n"; - usage(); - exit 1; -} - -if ( ! ( $testlogdir = shift @ARGV ) ) { - print STDERR "No testdocuments dir to compare against specified!\n"; - usage(); - exit 1; -} - -if ( !(-d $logdir ) ) { - print STDERR "No output directory $logdir exists, please create it!!!!\n"; - exit 1; -} -if ( !(-d $testlogdir ) ) { - print STDERR "the directory containing the logfiles to compare against \"$logdir\" does not exist\n"; - usage(); - exit 1; -} -print "logdir $logdir\n"; -print "testlogdir $testlogdir\n"; -sub filter_crud($) -{ - my $a = shift; - - $a =~ /~$/ && return; - $a =~ /\#$/ && return; - $a =~ /\.orig$/ && return; - $a =~ /unxlng.*\.pro$/ && return; - $a =~ /wntmsc.*\.pro$/ && return; - $a =~ /.swp$/ && return; - $a =~ /POSITION/ && return; - $a =~ /ReadMe/ && return; - $a =~ /.tmp$/ && return; - $a =~ /\.svn/ && return; - $a eq 'CVS' && return; - $a eq '.' && return; - $a eq '..' && return; - - return $a; -} -sub slurp_dir($); - -sub slurp_dir($) -{ - my $dir = shift; - my ($dirhandle, $fname); - my @files = (); - - opendir ($dirhandle, $dir) || die "Can't open $dir"; - while ($fname = readdir ($dirhandle)) { - $fname = filter_crud($fname); - defined $fname || next; -# if (-d "$dir/$fname") { -# push @files, slurp_dir("$dir/$fname"); -# } else - { - push @files, "$dir/$fname"; - } - } - closedir ($dirhandle); - - return @files; -} - -if (-d $testlogdir) { - push @files, slurp_dir($testlogdir); -} - -my $processed = 0; -my $passed = 0; -my @passedTests=(); -my @skippedTests=(); -my @failedTests=(); - -my $failureCmd=""; -my $testfile = shift @ARGV; -my $testfilepath = "$testlogdir/$testfile"; -$testfilepath =~ s/\.xls/\.log/; -print "$testfilepath\n"; -for $a (@files) { - $filename = $a; - if ( "$testfilepath" eq "$filename" ) - { - $processed++; - my $testcase = $a; - $testcase =~ s/\.log/\.xls/; - my $result = testLog( $a, $logdir ); - if ( $result == 0 ) { - push @failedTests, basename($testcase); - if ( $failureCmd eq "" ) { $failureCmd = " diff -up $a $logdir "; } - } - elsif ( $result == 2 ) { - #print "skipped $a\n"; - push @skippedTests, $testcase; - } - else { - $passed++; - push @passedTests, $testcase; - #print "Test document for $a \t \t passed. \n"; - } - } -} -my $compared=@passedTests+@failedTests; -my $skip = @skippedTests; -print "skipped $skip test-cases(s)\n"; -print "compared $compared test-case documents\n"; -print "\t \t $passed tests $@passedTests\n"; -if ( @failedTests > 0 ) { - print "the following test-case documents failed, please examine the logs manually\n"; - - for $a (@failedTests) { - print "\t$a\n"; - } - print "e.g. $failureCmd\n" -} |