Browse Source

enhancements to runSuite - * more flexible failure detection. * time results are no longer parsed. * hive command failure detection check

Tim Harsch 11 years ago
parent
commit
7524d7f8f2
1 changed files with 9 additions and 3 deletions
  1. 9 3
      runSuite.pl

+ 9 - 3
runSuite.pl

@@ -32,16 +32,22 @@ my $db = {
 print "filename,status,time,rows\n";
 for my $query ( @queries ) {
 	my $logname = "$query.log";
-	my $cmd="echo 'use $db->{${suite}}; source $query;' | hive -i testbench.settings 2>&1  | tee $query.log";
+	# my $cmd="echo 'use $db->{${suite}}; source $query;' | hive -i testbench.settings 2>&1  | tee $query.log";
+	my $cmd="cat $query.log";
 	#print $cmd ; exit;
 	
+	my $hiveStart = time();
+
 	my @hiveoutput=`$cmd`;
+	die "${SCRIPT_NAME}:: ERROR:  hive command unexpectedly exited \$? = '$?', \$! = '$!'" if $?;
 
+	my $hiveEnd = time();
+	my $hiveTime = $hiveEnd - $hiveStart;
 	foreach my $line ( @hiveoutput ) {
 		if( $line =~ /Time taken:\s+([\d\.]+)\s+seconds,\s+Fetched:\s+(\d+)\s+row/ ) {
-			print "$query,success,$1,$2\n"; 
+			print "$query,success,$hiveTime,$2\n"; 
 		} elsif( 
-			$line =~ /FAILED: Execution Error/
+			$line =~ /^FAILED: /
 			# || /Task failed!/ 
 			) {
 			print "$query,failed\n";