diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-01-17 17:11:46 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-01-20 11:49:30 +0100 |
commit | 185d03bbb5d8664413756394275be675005efb37 (patch) | |
tree | 79e938eb12832b9a5dba802f827863986c7fcc9f /scripts | |
parent | 188d50dc1db51cc00caebb5efceb483472d34afb (diff) | |
download | qt-creator-185d03bbb5d8664413756394275be675005efb37.tar.gz |
Add purify2tasks.pl for converting Rational Purify logs into .tasks files.
Change-Id: I2fcaa0149fb6fbe65a8a0041823abe5c86db3bba
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/purify2tasks.pl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/purify2tasks.pl b/scripts/purify2tasks.pl new file mode 100755 index 0000000000..1c484e3725 --- /dev/null +++ b/scripts/purify2tasks.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl -w + +=head1 NAME + +purify2tasks.pl - Convert Rational Purify logs into Qt Creator task files. + +=head1 SYNOPSIS + + purify2tasks.pl < logfile > taskfile + +=cut + +use strict; + +my $lastMessage = ''; + +while (my $line = <STDIN> ) { + chomp($line); + # --- extract file name based matching: + # Classname::function [c:\path\file.cpp:389] + if ($line =~ / \[(.*:\d+)\]$/) { + my $capture = $1; + my $lastColon = rindex($capture, ':'); + my $fileName = substr($capture, 0, $lastColon); + my $lineNumber = substr($capture, $lastColon + 1); + $fileName =~ s|\\|/|g; + print $fileName, "\t", $lineNumber, "\tpurify\t", $lastMessage,"\n"; + # match a warning/error report + } elsif ($line =~ /^\[[W|E|I]\] /) { + $lastMessage = substr($line, 4); + } +} |