summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-01-17 17:11:46 +0100
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-01-20 11:49:30 +0100
commit185d03bbb5d8664413756394275be675005efb37 (patch)
tree79e938eb12832b9a5dba802f827863986c7fcc9f /scripts
parent188d50dc1db51cc00caebb5efceb483472d34afb (diff)
downloadqt-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-xscripts/purify2tasks.pl32
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);
+ }
+}