summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/memcheck_analyze.py
diff options
context:
space:
mode:
authortimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 11:42:12 +0000
committertimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 11:42:12 +0000
commit78785cd30ccc5c6ddb9264f49a77075e42e73681 (patch)
treed23a554b80c5ff68be634d4997694e16a1ffaa5d /tools/valgrind/memcheck_analyze.py
parent7a968a8cc3bd09efb6540ab2e5b00d9666e20559 (diff)
downloadchromium_src-78785cd30ccc5c6ddb9264f49a77075e42e73681.zip
chromium_src-78785cd30ccc5c6ddb9264f49a77075e42e73681.tar.gz
chromium_src-78785cd30ccc5c6ddb9264f49a77075e42e73681.tar.bz2
Utilize a smarter "file path prefix cutter" for Memcheck.
This will avoid stupid paths in reports (like uild/buildd/zlib-1.2.3.3.dfsg/inflate.c:959) TBR=glider TEST=./tools/valgrind/chrome_tests.sh -t base --gtest_filter="*Sanity*" Review URL: http://codereview.chromium.org/6899060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82849 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/valgrind/memcheck_analyze.py')
-rwxr-xr-xtools/valgrind/memcheck_analyze.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/valgrind/memcheck_analyze.py b/tools/valgrind/memcheck_analyze.py
index a7227d3..8263621 100755
--- a/tools/valgrind/memcheck_analyze.py
+++ b/tools/valgrind/memcheck_analyze.py
@@ -59,14 +59,18 @@ def getCDATAOf(top_node, name):
return None
return text
-def removeCommonRoot(source_dir, directory):
+def shortenFilePath(source_dir, directory):
'''Returns a string with the string prefix |source_dir| removed from
|directory|.'''
+ prefixes_to_cut = ["build/src/", "valgrind/coregrind/"]
+
if source_dir:
- # Do this for safety, just in case directory is an absolute path outside of
- # source_dir.
- prefix = os.path.commonprefix([source_dir, directory])
- return directory[len(prefix) + 1:]
+ prefixes_to_cut.append(source_dir)
+
+ for p in prefixes_to_cut:
+ index = directory.rfind(p)
+ if index != -1:
+ directory = directory[index + len(p):]
return directory
@@ -85,7 +89,7 @@ def gatherFrames(node, source_dir):
INSTRUCTION_POINTER : getTextOf(frame, INSTRUCTION_POINTER),
OBJECT_FILE : getTextOf(frame, OBJECT_FILE),
FUNCTION_NAME : getTextOf(frame, FUNCTION_NAME),
- SRC_FILE_DIR : removeCommonRoot(
+ SRC_FILE_DIR : shortenFilePath(
source_dir, getTextOf(frame, SRC_FILE_DIR)),
SRC_FILE_NAME : getTextOf(frame, SRC_FILE_NAME),
SRC_LINE : getTextOf(frame, SRC_LINE)