Ugly hacked in -N.
[nethome.git] / bin / diffgdb
index 02bc94e..6ad817a 100755 (executable)
@@ -16,7 +16,6 @@ qr{^.UNTESTED: }o,
 qr{^.UNRESOLVED: }o,
 qr{^.ERROR: }o,
 qr{^.WARNING: }o,
-qr{^.Running }o,
 qr{^.[^:]*[.]ad[sb]:[0-9]}o,
 qr{^.(?:PASS|FAIL): gdb.server/ext-run.exp: get process list\n$}o,
 qr{^.(?:PASS|FAIL): gdb.base/checkpoint.exp: info checkpoints with at least 600 checkpoints\n$}o,
@@ -64,9 +63,19 @@ qr{^."uplevel #0 source .*gdb/testsuite/gdb.threads/watchthreads-thr.*\.\.\."\n$
 my $ignore=shift @ignore;
 $ignore=qr/$ignore|$_/ for @ignore;
 
-if ($ARGV[0] eq "-r") {
-  $ignore=undef;
-  shift;
+my $opt_new;
+while (1) {
+  if ($ARGV[0] eq "-r") {
+    $ignore=undef;
+    shift;
+    next;
+  }
+  if ($ARGV[0] eq "-N") {
+    $opt_new=1;
+    shift;
+    next;
+  }
+  last;
 }
 
 my $last;
@@ -101,7 +110,7 @@ while (<DIFF>) {
   }
   $this->{"buffer"}.=$_;
   next if /^ /;
-  next if /^[+]Running / && $thisname;
+  next if /^[+]Running / && $thisname && !$opt_new;
   next if /^[+]PASS: /;
   next if /^[+]KPASS: /;
   next if /^-PASS: /;
@@ -120,7 +129,7 @@ while (<DIFF>) {
 
   $this->{"print"}=1;
   print $lastfile||""; $lastfile=undef();
-  print "\n#".$this->{"name"}."\n";
+  print "\n#".($this->{"name"}||"???")."\n";
   print $this->{"buffer"}; $this->{"buffer"}=undef();
   next;
 }