Whamcloud - gitweb
LU-4704 test: enable acl 974 and 2561 series test
[fs/lustre-release.git] / lustre / tests / acl / run
index 92bf24f..6a86c22 100755 (executable)
@@ -26,14 +26,22 @@ if (isatty(fileno(STDOUT))) {
 }
 
 sub exec_test($$);
+sub process_test($$$$);
 
 my ($prog, $in, $out) = ([], [], []);
 my $line_number = 0;
 my $prog_line;
 my ($tests, $failed) = (0,0);
+my $testfile;
 
+if (!defined($ARGV[0])) {
+       print "No test file specified\n";
+       exit 1;
+}
+
+open($testfile, $ARGV[0]) or die "Can't open file $ARGV[0]: $!";
 for (;;) {
-  my $line = <>; $line_number++;
+  my $line = <$testfile>; $line_number++;
   if (defined $line) {
     # Substitute %VAR and %{VAR} with environment variables.
     $line =~ s[%(?:(\w+)|\{(\w+)\})][$ENV{"$1$2"}]eg;
@@ -61,6 +69,7 @@ for (;;) {
     last;
   }
 }
+close($testfile);
 
 my $status = sprintf("%d commands (%d passed, %d failed)",
        $tests, $tests-$failed, $failed);
@@ -88,7 +97,7 @@ sub process_test($$$$) {
        my $nmax = (@$out > @$result) ? @$out : @$result;
        for (my $n=0; $n < $nmax; $n++) {
         if (!defined($out->[$n]) || !defined($result->[$n]) ||
-            $out->[$n] ne $result->[$n]) {
+            ($result->[$n] !~ m/\Q$out->[$n]\E/)) {
                 $good = 0;
         }
        }