[Box Backup-dev] COMMIT r664 - box/chris/general

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Sat, 22 Jul 2006 17:54:49 +0000 (GMT)


Author: chris
Date: 2006-07-22 17:54:46 +0000 (Sat, 22 Jul 2006)
New Revision: 664

Modified:
   box/chris/general/runtest.pl
Log:
* runtest.pl
- Allow running any selected set of tests in any order
- Return an exit code that indicates whether all tests passed, or not


Modified: box/chris/general/runtest.pl
===================================================================
--- box/chris/general/runtest.pl	2006-07-22 17:54:39 UTC (rev 663)
+++ box/chris/general/runtest.pl	2006-07-22 17:54:46 UTC (rev 664)
@@ -17,15 +17,26 @@
 Mode defaults to debug.
 
 __E
-	exit(0);
+	exit(2);
 }
 
 my @results;
+my $exitcode = 0;
 
 if($test_name ne 'ALL')
 {
-	# run one test
-	runtest($test_name);
+	# run one or more specified test
+	if ($test_name =~ m/,/)
+	{
+		foreach my $test (split m/,/, $test_name)
+		{
+			runtest($test);
+		}
+	}
+	else
+	{
+		runtest($test_name);
+	}
 }
 else
 {
@@ -57,6 +68,8 @@
 # report results
 print "--------\n",join("\n",@results),"\n";
 
+exit $exit_code;
+
 sub runtest
 {
 	my ($t) = @_;
@@ -67,6 +80,7 @@
 	if($make_res != 0)
 	{
 		push @results,"$t: make failed";
+		$exit_code = 2;
 		return;
 	}
 	
@@ -82,8 +96,14 @@
 			$last = $_ if m/\w/;
 		}
 		close RESULTS;
+
 		chomp $last;
 		push @results,"$t: $last";
+
+		if ($last ne "PASSED") 
+		{ 
+			$result = 1;
+		}
 	}
 	else
 	{