|
From: <sv...@va...> - 2016-09-14 16:43:34
|
Author: carll
Date: Wed Sep 14 17:43:27 2016
New Revision: 15956
Log:
Add tc06_two_races_xml.exp output for ppc64
Update xml filter to suppress pthread_create_WRK frame. Update the filter_xml
filter to suppress the frame containing the pthread_create_WRK function. This
allows the tc06_two_races_xml test to complete reliably on power.
This change also adds the ability to suppress the printf that generates a
"pthread_create_WRK...pthread_create" entry to replace the suppressed frame.
This is conceptually a follow-up from r13983, which suppresses the
pthread_create_WRK entry from non-xml outputs.
Patch submitted by Will Schmidt <wil...@vn...>
Bugzilla 368416
Modified:
trunk/helgrind/tests/filter_xml
trunk/helgrind/tests/tc06_two_races_xml.stderr.exp
Modified: trunk/helgrind/tests/filter_xml
==============================================================================
--- trunk/helgrind/tests/filter_xml (original)
+++ trunk/helgrind/tests/filter_xml Wed Sep 14 17:43:27 2016
@@ -46,7 +46,13 @@
# List of XML sections to be ignored.
my %ignore_sections = (
"<errorcounts>" => "</errorcounts>",
- "<suppcounts>" => "</suppcounts>"
+ "<suppcounts>" => "</suppcounts>",
+ "pthread_create_WRK</fn>" => "<obj>"
+);
+
+# List of XML sections to be quietly ignored.
+my %quiet_ignore_sections = (
+ "pthread_create_WRK</fn>" => "<obj>"
);
@@ -65,9 +71,9 @@
my $frame_buf = "";
-my ($file, $lineno, $in_frame, $keep_frame, $num_discarded, $ignore_line);
+my ($file, $lineno, $in_frame, $keep_frame, $num_discarded, $ignore_line, $quiet_ignore_line);
-$in_frame = $keep_frame = $num_discarded = $ignore_line = 0;
+$in_frame = $keep_frame = $num_discarded = $ignore_line = $quiet_ignore_line = 0;
line:
while (<STDIN>) {
@@ -78,8 +84,11 @@
if ($ignore_line) {
foreach my $tag (keys %ignore_sections) {
if ($line =~ $ignore_sections{$tag}) {
- print "$tag...$ignore_sections{$tag}\n";
+ if ($quiet_ignore_line == 0) {
+ print "$tag...$ignore_sections{$tag}\n";
+ }
$ignore_line = 0;
+ $quiet_ignore_line = 0;
next line;
}
}
@@ -89,6 +98,12 @@
$ignore_line = 1;
}
}
+ # Determine if this section is also in the quiet list.
+ foreach my $tag (keys %quiet_ignore_sections) {
+ if ($line =~ $tag) {
+ $quiet_ignore_line = 1;
+ }
+ }
}
next if ($ignore_line);
Modified: trunk/helgrind/tests/tc06_two_races_xml.stderr.exp
==============================================================================
--- trunk/helgrind/tests/tc06_two_races_xml.stderr.exp (original)
+++ trunk/helgrind/tests/tc06_two_races_xml.stderr.exp Wed Sep 14 17:43:27 2016
@@ -49,14 +49,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create_WRK</fn>
- <dir>...</dir>
- <file>hg_intercepts.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
|