[Libreoffice-commits] core.git: bin/find-most-common-warn-messages.py

Noel Grandin noel at peralex.com
Fri Jun 3 09:43:36 UTC 2016


 bin/find-most-common-warn-messages.py |   35 ++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

New commits:
commit 623de75b6515b8e9b6ce2766e7d90277c8714d82
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Jun 3 11:42:32 2016 +0200

    script for grouping warning messages by most common
    
    A script to search our test logs and sort the messages by how common
    they are so we can start to reduce the noise a little.
    
    Change-Id: I8a6e6167c42447f9869ac700300d1b243f055e2b

diff --git a/bin/find-most-common-warn-messages.py b/bin/find-most-common-warn-messages.py
new file mode 100755
index 0000000..3cbf211
--- /dev/null
+++ b/bin/find-most-common-warn-messages.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+
+# A script to search our test logs and sort the messages by how common they are so we can start to
+# reduce the noise a little.
+
+import sys
+import re
+import io
+import subprocess
+
+# find . -name '*.log' | xargs grep -h 'warn:' | sort | uniq -c | sort -n --field-separator=: --key=5,6
+
+process = subprocess.Popen("find workdir -name '*.log' | xargs grep -h 'warn:' | sort",
+                            shell=True, stdout=subprocess.PIPE, universal_newlines=True)
+
+messages = dict() # dict of sourceAndLine->count
+for line in process.stdout:
+    line = line.strip()
+    # a sample line is:
+    #    warn:sw:18790:1:sw/source/core/doc/DocumentRedlineManager.cxx:98: redline table corrupted: overlapping redlines
+    tokens = line.split(":")
+    sourceAndLine = tokens[4] + ":" + tokens[5]
+    if (sourceAndLine in messages):
+        messages[sourceAndLine] = messages[sourceAndLine] + 1
+    else:
+        messages[sourceAndLine] = 1
+
+tmplist = list() # set of tuple (count, sourceAndLine)
+for key, value in messages.iteritems():
+    tmplist.append([value,key])
+
+for i in sorted(tmplist, key=lambda v: v[0]):
+    print i
+
+


More information about the Libreoffice-commits mailing list