diff options
author | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 11:42:12 +0000 |
---|---|---|
committer | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 11:42:12 +0000 |
commit | 78785cd30ccc5c6ddb9264f49a77075e42e73681 (patch) | |
tree | d23a554b80c5ff68be634d4997694e16a1ffaa5d | |
parent | 7a968a8cc3bd09efb6540ab2e5b00d9666e20559 (diff) | |
download | chromium_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
-rwxr-xr-x | tools/valgrind/memcheck_analyze.py | 16 |
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) |