Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: tools/mb/mb.py

Issue 2510033004: Add rtc_use_memcheck flag, update MB and GN to handle it, and add gni files listing the runtime deps (Closed)
Patch Set: Update mb_config.pyl Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/base/BUILD.gn » ('j') | webrtc/base/BUILD.gn » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/mb/mb.py
diff --git a/tools/mb/mb.py b/tools/mb/mb.py
index 19926c9803e4a95b4fd9cd123db8eaa32ebbc2b4..9008a34f58d15795ca1b47afc11dc80b682b9953 100755
--- a/tools/mb/mb.py
+++ b/tools/mb/mb.py
@@ -1061,12 +1061,14 @@ class MetaBuildWrapper(object):
def GetIsolateCommand(self, target, vals):
android = 'target_os="android"' in vals['gn_args']
+ is_linux = self.platform == 'linux2' and not android
+
+ # Memcheck is only supported for linux. Ignore in other platforms.
+ memcheck = is_linux and 'rtc_use_memcheck=true' in vals['gn_args']
# This needs to mirror the settings in //build/config/ui.gni:
# use_x11 = is_linux && !use_ozone.
- use_x11 = (self.platform == 'linux2' and
- not android and
- not 'use_ozone=true' in vals['gn_args'])
+ use_x11 = is_linux and not 'use_ozone=true' in vals['gn_args']
kjellander_webrtc 2016/11/21 08:33:59 Ouch, so there's logic in here that will change th
ehmaldonado_webrtc 2016/11/21 10:51:55 No, this doesn't override the logic in the GN vari
ehmaldonado_webrtc 2016/11/21 11:02:07 So, MB only has access to the GN flags that we pas
asan = 'is_asan=true' in vals['gn_args']
msan = 'is_msan=true' in vals['gn_args']
@@ -1081,6 +1083,22 @@ class MetaBuildWrapper(object):
cmdline = []
extra_files = []
+
+ gtest_cmdline = [
+ 'python',
+ '../../third_party/gtest-parallel/gtest-parallel',
+ ]
+ memcheck_cmdline = [
+ 'bash',
+ '../../tools/valgrind-webrtc/webrtc_tests.sh',
+ '--tool',
+ 'memcheck',
+ '--target',
+ 'Release',
+ '--build-dir',
+ '..',
+ '--test',
+ ]
common_cmdline = [
executable_prefix + str(executable) + executable_suffix,
'--',
@@ -1121,26 +1139,33 @@ class MetaBuildWrapper(object):
cmdline = [
'../../testing/xvfb.py',
'.',
- 'python',
- '../../third_party/gtest-parallel/gtest-parallel',
- ] + common_cmdline
+ ]
+ if memcheck:
kjellander_webrtc 2016/11/21 08:33:58 There must be a way to avoid duplicating this sect
+ cmdline += memcheck_cmdline
+ else:
+ cmdline += gtest_cmdline
+ cmdline += common_cmdline
elif test_type in ('windowed_test_launcher', 'console_test_launcher'):
extra_files = [
'../../testing/test_env.py',
'../../third_party/gtest-parallel/gtest-parallel',
]
- cmdline = [
- '../../testing/test_env.py',
- 'python',
- '../../third_party/gtest-parallel/gtest-parallel',
- ] + common_cmdline
+ cmdline = [ '../../testing/test_env.py' ]
+ if memcheck:
kjellander_webrtc 2016/11/21 08:33:58 You could write this on just one line: cmdline +=
+ cmdline += memcheck_cmdline
+ else:
+ cmdline += gtest_cmdline
+ cmdline += common_cmdline
elif test_type == 'non_parallel_console_test_launcher':
extra_files = [
'../../testing/test_env.py',
]
cmdline = [
'../../testing/test_env.py',
- ] + common_cmdline
+ ]
+ if memcheck:
+ cmdline += memcheck_cmdline
+ cmdline += common_cmdline
else:
self.WriteFailureAndRaise('No command line for %s found (test type %s).'
% (target, test_type), output_path=None)
« no previous file with comments | « no previous file | webrtc/base/BUILD.gn » ('j') | webrtc/base/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698