[svn-commits] sgriepentrog: branch sgriepentrog/testsuite-valgrind r4354 - /asterisk/team/s...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Nov 20 16:19:11 CST 2013


Author: sgriepentrog
Date: Wed Nov 20 16:19:10 2013
New Revision: 4354

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=4354
Log:
improved valgrind error stack output

Modified:
    asterisk/team/sgriepentrog/testsuite-valgrind/runtests.py

Modified: asterisk/team/sgriepentrog/testsuite-valgrind/runtests.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/sgriepentrog/testsuite-valgrind/runtests.py?view=diff&rev=4354&r1=4353&r2=4354
==============================================================================
--- asterisk/team/sgriepentrog/testsuite-valgrind/runtests.py (original)
+++ asterisk/team/sgriepentrog/testsuite-valgrind/runtests.py Wed Nov 20 16:19:10 2013
@@ -233,14 +233,23 @@
 
                         for error in error_list:
                             kind = getText(error.getElementsByTagName('kind'))
+                            msg = ""
 
                             stack = error.getElementsByTagName('stack')[0]
-                            frame = stack.getElementsByTagName('frame')[0]
-                            fn = getText(frame.getElementsByTagName('fn'))
-                            file = getText(frame.getElementsByTagName('file'))
-                            line = getText(frame.getElementsByTagName('line'))
-
-                            msg = "%s() %s:%s" % (fn, file, line)
+                            frames = stack.getElementsByTagName('frame')
+                            for frame in frames:
+                                fn = getText(frame.getElementsByTagName('fn'))
+                                file = getText(frame.getElementsByTagName('file'))
+                                line = getText(frame.getElementsByTagName('line'))
+
+                                if "" == file:
+                                    msg += " %s()" % (fn)
+                                else:
+                                    msg += " %s()[%s:%s]" % (fn, file, line)
+
+                                #if len(msg) > 70:
+                                #    msg += " ..."
+                                #    break
 
                             if not kind in count_error_kinds:
                                 count_error_kinds[kind] = []
@@ -258,10 +267,10 @@
 
                     for kind, list in count_error_kinds.iteritems():
                         msg =  "Valgrind found %d errors of type %s" % (len(list), kind)
-                        self.stdout += msg + "\n"
+                        self.stdout += msg + "\n    first:" + list[0] + "\n"
                         print msg
                         for details in list:
-                            print "    %s" % details
+                            print "   " + details
 
                     if count_bytes_leaked > 0:
                         msg = "Valgrind detected %s bytes definitely leaked" % (count_bytes_leaked)




More information about the svn-commits mailing list