mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
Generic test suite helpers for OOM testing
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
(my $ME = $0) =~ s|.*/||;
|
||||
# use File::Coda; # http://meyering.net/code/Coda/
|
||||
END {
|
||||
defined fileno STDOUT or return;
|
||||
close STDOUT and return;
|
||||
warn "$ME: failed to close standard output: $!\n";
|
||||
$? ||= 1;
|
||||
}
|
||||
|
||||
|
||||
my @data = <>;
|
||||
|
||||
|
||||
my %trace;
|
||||
my %lines;
|
||||
|
||||
foreach (@data) {
|
||||
if (/^\s*TRACE:\s+(\S+?)(?:\(.*\))?\s+\[0x(.*)\]\s*$/ ) {
|
||||
$trace{$2} = $1;
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $key (keys %trace) {
|
||||
my $val = $trace{$key};
|
||||
my $info = $val =~ /\?\?/ ? $val : `addr2line -e $val $key`;
|
||||
$lines{$key} = $info;
|
||||
}
|
||||
|
||||
|
||||
foreach (@data) {
|
||||
if (/^\s*TRACE:\s+(\S+?)(?:\(.*\))?\s+\[0x(.*)\]\s*$/ ) {
|
||||
print $lines{$2};
|
||||
} else {
|
||||
print;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user