diff --git a/tools/mb/mb.py b/tools/mb/mb.py index 02070c52db..bf3e1f6f0b 100755 --- a/tools/mb/mb.py +++ b/tools/mb/mb.py @@ -1060,40 +1060,25 @@ class MetaBuildWrapper(object): return ret def GetIsolateCommand(self, target, vals): - android = 'target_os="android"' 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']) - - asan = 'is_asan=true' in vals['gn_args'] - msan = 'is_msan=true' in vals['gn_args'] - tsan = 'is_tsan=true' in vals['gn_args'] - isolate_map = self.ReadIsolateMap() test_type = isolate_map[target]['type'] - executable = isolate_map[target].get('executable', target) - executable_suffix = '.exe' if self.platform == 'win32' else '' - executable_prefix = '.\\' if self.platform == 'win32' else './' - - cmdline = [] - extra_files = [] - common_cmdline = [ - executable_prefix + str(executable) + executable_suffix, - '--', - '--asan=%d' % asan, - '--msan=%d' % msan, - '--tsan=%d' % tsan, - ] + android = 'target_os="android"' in vals['gn_args'] + is_linux = self.platform == 'linux2' and not android if test_type == 'nontest': self.WriteFailureAndRaise('We should not be isolating %s.' % target, output_path=None) + if test_type not in ('console_test_launcher', 'windowed_test_launcher', + 'non_parallel_console_test_launcher', + 'additional_compile_target', 'junit_test'): + self.WriteFailureAndRaise('No command line for %s found (test type %s).' + % (target, test_type), output_path=None) - if android and test_type != "script": + cmdline = [] + extra_files = [] + + if android: logdog_command = [ '--logdog-bin-cmd', './../../bin/logdog_butler', '--project', 'chromium', @@ -1107,45 +1092,70 @@ class MetaBuildWrapper(object): self.PathJoin('bin', 'run_%s' % target), '--logcat-output-file', '${ISOLATED_OUTDIR}/logcats', '--target-devices-file', '${SWARMING_BOT_FILE}', - '-v' + '-v', ] cmdline = (['./../../build/android/test_wrapper/logdog_wrapper.py'] + logdog_command + test_cmdline) - elif use_x11 and test_type == 'windowed_test_launcher': - extra_files = [ - 'xdisplaycheck', - '../../testing/test_env.py', - '../../testing/xvfb.py', - '../../third_party/gtest-parallel/gtest-parallel', - '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', - ] - cmdline = [ - '../../testing/xvfb.py', - '.', - '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', - ] + common_cmdline - elif test_type in ('windowed_test_launcher', 'console_test_launcher'): - extra_files = [ - '../../testing/test_env.py', - '../../third_party/gtest-parallel/gtest-parallel', - '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', - ] - cmdline = [ - '../../testing/test_env.py', - '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', - ] + common_cmdline - elif test_type == 'non_parallel_console_test_launcher': - extra_files = [ - '../../testing/test_env.py', - ] - cmdline = [ - '../../testing/test_env.py', - ] + common_cmdline else: - self.WriteFailureAndRaise('No command line for %s found (test type %s).' - % (target, test_type), output_path=None) + extra_files = ['../../testing/test_env.py'] - cmdline += isolate_map[target].get('args', []) + # This needs to mirror the settings in //build/config/ui.gni: + # use_x11 = is_linux && !use_ozone. + use_x11 = is_linux and not 'use_ozone=true' in vals['gn_args'] + + xvfb = use_x11 and test_type == 'windowed_test_launcher' + if xvfb: + extra_files += [ + 'xdisplaycheck', + '../../testing/xvfb.py', + ] + + # Memcheck is only supported for linux. Ignore in other platforms. + memcheck = is_linux and 'rtc_use_memcheck=true' in vals['gn_args'] + memcheck_cmdline = [ + 'bash', + '../../tools/valgrind-webrtc/webrtc_tests.sh', + '--tool', + 'memcheck', + '--target', + 'Release', + '--build-dir', + '..', + '--test', + ] + + gtest_parallel = (test_type != 'non_parallel_console_test_launcher' and + not memcheck) + gtest_parallel_wrapper = [ + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py' + ] + if gtest_parallel: + extra_files += [ + '../../third_party/gtest-parallel/gtest-parallel', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + ] + + asan = 'is_asan=true' in vals['gn_args'] + msan = 'is_msan=true' in vals['gn_args'] + tsan = 'is_tsan=true' in vals['gn_args'] + + executable_prefix = '.\\' if self.platform == 'win32' else './' + executable_suffix = '.exe' if self.platform == 'win32' else '' + executable = executable_prefix + target + executable_suffix + + cmdline = (['../../testing/xvfb.py', '.'] if xvfb else + ['../../testing/test_env.py']) + if memcheck: + cmdline += memcheck_cmdline + elif gtest_parallel: + cmdline += gtest_parallel_wrapper + cmdline += [ + executable, + '--', + '--asan=%d' % asan, + '--msan=%d' % msan, + '--tsan=%d' % tsan, + ] return cmdline, extra_files diff --git a/tools/mb/mb_unittest.py b/tools/mb/mb_unittest.py index 52871ae5ce..cba78f8658 100755 --- a/tools/mb/mb_unittest.py +++ b/tools/mb/mb_unittest.py @@ -9,6 +9,7 @@ """Tests for mb.py.""" +import ast import json import StringIO import os @@ -121,7 +122,9 @@ TEST_CONFIG = """\ 'fake_gn_debug_builder': 'gn_debug_goma', 'fake_gyp_builder': 'gyp_debug', 'fake_gn_args_bot': '//build/args/bots/fake_master/fake_gn_args_bot.gn', + 'fake_memcheck_bot': 'gn_memcheck_bot', 'fake_multi_phase': { 'phase_1': 'gn_phase_1', 'phase_2': 'gn_phase_2'}, + 'fake_android_bot': 'gn_android_bot', }, }, 'configs': { @@ -132,6 +135,8 @@ TEST_CONFIG = """\ 'gyp_crosscompile': ['gyp', 'crosscompile'], 'gn_phase_1': ['gn', 'phase_1'], 'gn_phase_2': ['gn', 'phase_2'], + 'gn_memcheck_bot': ['gn', 'memcheck'], + 'gn_android_bot': ['gn', 'android'], }, 'mixins': { 'crosscompile': { @@ -161,6 +166,12 @@ TEST_CONFIG = """\ 'debug': { 'gn_args': 'is_debug=true', }, + 'memcheck': { + 'gn_args': 'rtc_use_memcheck=true', + }, + 'android': { + 'gn_args': 'target_os="android"', + } }, } """ @@ -370,6 +381,301 @@ class UnitTest(unittest.TestCase): self.assertIn('c:\\fake_src\\out\\Default\\cc_perftests.isolated.gen.json', mbw.files) + def test_gn_gen_swarming_android(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'additional_compile_target'," + "}}\n" + ), + '/fake_src/out/Default/base_unittests.runtime_deps': ( + "base_unittests\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_android_bot', '//out/Default', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Default/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, ['base_unittests']) + self.assertEqual(command, [ + './../../build/android/test_wrapper/logdog_wrapper.py', + '--logdog-bin-cmd', './../../bin/logdog_butler', + '--project', 'chromium', + '--service-account-json', + '/creds/service_accounts/service-account-luci-logdog-publisher.json', + '--prefix', 'android/swarming/logcats/${SWARMING_TASK_ID}', + '--source', '${ISOLATED_OUTDIR}/logcats', + '--name', 'unified_logcats', + 'bin/run_base_unittests', + '--logcat-output-file', '${ISOLATED_OUTDIR}/logcats', + '--target-devices-file', '${SWARMING_BOT_FILE}', + '-v', + ]) + + def test_gn_gen_swarming_android_junit_test(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'junit_test'," + "}}\n" + ), + '/fake_src/out/Default/base_unittests.runtime_deps': ( + "base_unittests\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_android_bot', '//out/Default', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Default/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, ['base_unittests']) + self.assertEqual(command, [ + './../../build/android/test_wrapper/logdog_wrapper.py', + '--logdog-bin-cmd', './../../bin/logdog_butler', + '--project', 'chromium', + '--service-account-json', + '/creds/service_accounts/service-account-luci-logdog-publisher.json', + '--prefix', 'android/swarming/logcats/${SWARMING_TASK_ID}', + '--source', '${ISOLATED_OUTDIR}/logcats', + '--name', 'unified_logcats', + 'bin/run_base_unittests', + '--logcat-output-file', '${ISOLATED_OUTDIR}/logcats', + '--target-devices-file', '${SWARMING_BOT_FILE}', + '-v', + ]) + + def test_gn_gen_non_parallel_console_test_launcher(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'non_parallel_console_test_launcher'," + "}}\n" + ), + '/fake_src/out/Default/base_unittests.runtime_deps': ( + "base_unittests\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_debug_goma', '//out/Default', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Default/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, [ + '../../testing/test_env.py', + 'base_unittests', + ]) + self.assertEqual(command, [ + '../../testing/test_env.py', + './base_unittests', + '--', + '--asan=0', + '--msan=0', + '--tsan=0', + ]) + + def test_gn_isolate_windowed_test_launcher_linux(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'windowed_test_launcher'," + "}}\n" + ), + '/fake_src/out/Default/base_unittests.runtime_deps': ( + "base_unittests\n" + "some_resource_file\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_debug_goma', '//out/Default', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Default/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, [ + '../../testing/test_env.py', + '../../testing/xvfb.py', + '../../third_party/gtest-parallel/gtest-parallel', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + 'base_unittests', + 'some_resource_file', + 'xdisplaycheck', + ]) + self.assertEqual(command, [ + '../../testing/xvfb.py', + '.', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + './base_unittests', + '--', + '--asan=0', + '--msan=0', + '--tsan=0', + ]) + + def test_gn_gen_windowed_test_launcher_win(self): + files = { + '/tmp/swarming_targets': 'unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'unittests': {" + " 'label': '//somewhere:unittests'," + " 'type': 'windowed_test_launcher'," + "}}\n" + ), + r'c:\fake_src\out\Default\unittests.exe.runtime_deps': ( + "unittests.exe\n" + "some_dependency\n" + ), + } + mbw = self.fake_mbw(files=files, win32=True) + self.check(['gen', + '-c', 'gn_debug_goma', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl', + '//out/Default'], mbw=mbw, ret=0) + + isolate_file = mbw.files['c:\\fake_src\\out\\Default\\unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, [ + '../../testing/test_env.py', + '../../third_party/gtest-parallel/gtest-parallel', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + 'some_dependency', + 'unittests.exe', + ]) + self.assertEqual(command, [ + '../../testing/test_env.py', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + r'.\unittests.exe', + '--', + '--asan=0', + '--msan=0', + '--tsan=0', + ]) + + def test_gn_gen_console_test_launcher(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'console_test_launcher'," + "}}\n" + ), + '/fake_src/out/Default/base_unittests.runtime_deps': ( + "base_unittests\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_debug_goma', '//out/Default', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Default/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, [ + '../../testing/test_env.py', + '../../third_party/gtest-parallel/gtest-parallel', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + 'base_unittests', + ]) + self.assertEqual(command, [ + '../../testing/test_env.py', + '../../third_party/gtest-parallel/gtest-parallel-wrapper.py', + './base_unittests', + '--', + '--asan=0', + '--msan=0', + '--tsan=0', + ]) + + def test_gn_isolate_console_test_launcher_memcheck(self): + test_files = { + '/tmp/swarming_targets': 'base_unittests\n', + '/fake_src/testing/buildbot/gn_isolate_map.pyl': ( + "{'base_unittests': {" + " 'label': '//base:base_unittests'," + " 'type': 'console_test_launcher'," + "}}\n" + ), + '/fake_src/out/Release/base_unittests.runtime_deps': ( + "base_unittests\n" + "lots_of_memcheck_dependencies\n" + "../../tools/valgrind-webrtc/webrtc_tests.sh\n" + ), + } + mbw = self.check(['gen', '-c', 'gn_memcheck_bot', '//out/Release', + '--swarming-targets-file', '/tmp/swarming_targets', + '--isolate-map-file', + '/fake_src/testing/buildbot/gn_isolate_map.pyl'], + files=test_files, ret=0) + + isolate_file = mbw.files['/fake_src/out/Release/base_unittests.isolate'] + isolate_file_contents = ast.literal_eval(isolate_file) + files = isolate_file_contents['variables']['files'] + command = isolate_file_contents['variables']['command'] + + self.assertEqual(files, [ + '../../testing/test_env.py', + '../../tools/valgrind-webrtc/webrtc_tests.sh', + 'base_unittests', + 'lots_of_memcheck_dependencies', + ]) + self.assertEqual(command, [ + '../../testing/test_env.py', + 'bash', + '../../tools/valgrind-webrtc/webrtc_tests.sh', + '--tool', + 'memcheck', + '--target', + 'Release', + '--build-dir', + '..', + '--test', + './base_unittests', + '--', + '--asan=0', + '--msan=0', + '--tsan=0', + ]) def test_gn_isolate(self): files = { @@ -378,7 +684,6 @@ class UnitTest(unittest.TestCase): "{'base_unittests': {" " 'label': '//base:base_unittests'," " 'type': 'non_parallel_console_test_launcher'," - " 'args': []," "}}\n" ), '/fake_src/out/Default/base_unittests.runtime_deps': ( @@ -392,7 +697,6 @@ class UnitTest(unittest.TestCase): files['/fake_src/out/Default/args.gn'] = 'is_debug = True\n' self.check(['isolate', '//out/Default', 'base_unittests'], files=files, ret=0) - files['/fake_src/out/Default/mb_type'] = 'gn\n' self.check(['isolate', '//out/Default', 'base_unittests'], files=files, ret=0) @@ -403,7 +707,6 @@ class UnitTest(unittest.TestCase): "{'base_unittests': {" " 'label': '//base:base_unittests'," " 'type': 'windowed_test_launcher'," - " 'args': []," "}}\n" ), '/fake_src/out/Default/base_unittests.runtime_deps': ( diff --git a/tools/valgrind-webrtc/python-google.gni b/tools/valgrind-webrtc/python-google.gni new file mode 100644 index 0000000000..adc6a0fafb --- /dev/null +++ b/tools/valgrind-webrtc/python-google.gni @@ -0,0 +1,27 @@ +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +python_google = [ + "../../tools/python/google/__init__.py", + "../../tools/python/google/gethash_timer.py", + "../../tools/python/google/httpd_config/httpd.conf", + "../../tools/python/google/httpd_config/httpd2.conf", + "../../tools/python/google/httpd_config/httpd2.pem", + "../../tools/python/google/httpd_config/httpd2_linux.conf", + "../../tools/python/google/httpd_config/httpd2_mac.conf", + "../../tools/python/google/httpd_config/mime.types", + "../../tools/python/google/httpd_config/root_ca_cert.pem", + "../../tools/python/google/httpd_utils.py", + "../../tools/python/google/logging_utils.py", + "../../tools/python/google/path_utils.py", + "../../tools/python/google/platform_utils.py", + "../../tools/python/google/platform_utils_linux.py", + "../../tools/python/google/platform_utils_mac.py", + "../../tools/python/google/platform_utils_win.py", + "../../tools/python/google/process_utils.py", +] diff --git a/tools/valgrind-webrtc/valgrind-binaries.gni b/tools/valgrind-webrtc/valgrind-binaries.gni new file mode 100644 index 0000000000..27cd675e41 --- /dev/null +++ b/tools/valgrind-webrtc/valgrind-binaries.gni @@ -0,0 +1,425 @@ +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +valgrind_binaries = [] + +if (is_mac) { + valgrind_binaries += [ + "../../chromium/src/third_party/valgrind/mac_10.6/bin/ms_print", + "../../chromium/src/third_party/valgrind/mac_10.6/bin/no_op_client_for_valgrind", + "../../chromium/src/third_party/valgrind/mac_10.6/bin/valgrind", + "../../chromium/src/third_party/valgrind/mac_10.6/bin/valgrind-listener", + "../../chromium/src/third_party/valgrind/mac_10.6/bin/vgdb", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/32bit-sse.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-avx-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-avx-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-avx.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/64bit-sse.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-avx-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-avx-coresse.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-avx-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-avx-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/amd64-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-vfpv3-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-vfpv3-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-vfpv3.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-with-vfpv3-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/arm-with-vfpv3.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/default.supp", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/i386-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/i386-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-amd64-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-amd64-darwin.so.dSYM/Contents/Resources/DWARF/libmpiwrap-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-x86-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/libmpiwrap-x86-darwin.so.dSYM/Contents/Resources/DWARF/libmpiwrap-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-amd64-darwin", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-amd64-darwin.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-amd64-darwin.dSYM/Contents/Resources/DWARF/memcheck-amd64-darwin", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-x86-darwin", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-x86-darwin.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/memcheck-x86-darwin.dSYM/Contents/Resources/DWARF/memcheck-x86-darwin", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cp0-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cp0-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cp0.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-cpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-fpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/mips-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-altivec-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-altivec-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-altivec.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-fpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/power64-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/powerpc-altivec32l-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/powerpc-altivec32l.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/powerpc-altivec64l-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/powerpc-altivec64l.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-acr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-acr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-acr.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-fpr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-fpr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390-fpr.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-core64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-core64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-core64.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-generic-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-generic.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-linux64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-linux64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/s390x-linux64.xml", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-amd64-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-amd64-darwin.so.dSYM/Contents/Resources/DWARF/vgpreload_core-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-x86-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_core-x86-darwin.so.dSYM/Contents/Resources/DWARF/vgpreload_core-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-amd64-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-amd64-darwin.so.dSYM/Contents/Resources/DWARF/vgpreload_memcheck-amd64-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-x86-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.6/lib/valgrind/vgpreload_memcheck-x86-darwin.so.dSYM/Contents/Resources/DWARF/vgpreload_memcheck-x86-darwin.so", + "../../chromium/src/third_party/valgrind/mac_10.7/bin/valgrind", + "../../chromium/src/third_party/valgrind/mac_10.7/bin/valgrind-listener", + "../../chromium/src/third_party/valgrind/mac_10.7/bin/vgdb", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/32bit-sse.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-avx-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-avx-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-avx.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/64bit-sse.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-avx-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-avx-coresse.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-avx-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-avx-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/amd64-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-vfpv3-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-vfpv3-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-vfpv3.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-with-vfpv3-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/arm-with-vfpv3.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/default.supp", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/i386-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/i386-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-amd64-darwin", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-amd64-darwin.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-amd64-darwin.dSYM/Contents/Resources/DWARF/memcheck-amd64-darwin", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-x86-darwin", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-x86-darwin.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/memcheck-x86-darwin.dSYM/Contents/Resources/DWARF/memcheck-x86-darwin", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cp0-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cp0-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cp0.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-cpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-fpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/mips-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-altivec-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-altivec-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-altivec.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-fpu.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-core.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/power64-linux.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/powerpc-altivec32l-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/powerpc-altivec32l.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/powerpc-altivec64l-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/powerpc-altivec64l.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-acr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-acr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-acr.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-fpr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-fpr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390-fpr.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-core64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-core64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-core64.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-generic-valgrind.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-generic.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-linux64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-linux64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/s390x-linux64.xml", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/vgpreload_core-amd64-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/vgpreload_core-x86-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/vgpreload_memcheck-amd64-darwin.so.dSYM/Contents/Info.plist", + "../../chromium/src/third_party/valgrind/mac_10.7/lib/valgrind/vgpreload_memcheck-x86-darwin.so.dSYM/Contents/Info.plist", + ] +} else if (is_linux) { + if (target_cpu == "x64") { + valgrind_binaries += [ + "../../chromium/src/third_party/valgrind/linux_x64/bin/ms_print", + "../../chromium/src/third_party/valgrind/linux_x64/bin/no_op_client_for_valgrind", + "../../chromium/src/third_party/valgrind/linux_x64/bin/valgrind", + "../../chromium/src/third_party/valgrind/linux_x64/bin/valgrind-listener", + "../../chromium/src/third_party/valgrind/linux_x64/bin/valgrind-tsan.sh", + "../../chromium/src/third_party/valgrind/linux_x64/bin/vgdb", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-core.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/32bit-sse.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-avx-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-avx-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-avx.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-core.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/64bit-sse.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-avx-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-avx-coresse.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-avx-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-avx-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/amd64-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-core.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-vfpv3-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-vfpv3-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-vfpv3.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-with-vfpv3-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/arm-with-vfpv3.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/default.supp", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/i386-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/i386-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/memcheck-amd64-linux", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/memcheck-x86-linux", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cp0-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cp0-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cp0.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-cpu.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-fpu.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/mips-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-altivec-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-altivec-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-altivec.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-core.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-fpu.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-core.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/power64-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/powerpc-altivec32l-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/powerpc-altivec32l.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/powerpc-altivec64l-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/powerpc-altivec64l.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-acr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-acr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-acr.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-fpr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-fpr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390-fpr.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-core64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-core64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-core64.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-generic-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-generic.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-linux64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-linux64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/s390x-linux64.xml", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/vgpreload_core-amd64-linux.so", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/vgpreload_core-x86-linux.so", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/vgpreload_memcheck-amd64-linux.so", + "../../chromium/src/third_party/valgrind/linux_x64/lib/valgrind/vgpreload_memcheck-x86-linux.so", + ] + } else if (target_cpu == "x86") { + valgrind_binaries += [ + "../../chromium/src/third_party/valgrind/linux_x86/bin/ms_print", + "../../chromium/src/third_party/valgrind/linux_x86/bin/no_op_client_for_valgrind", + "../../chromium/src/third_party/valgrind/linux_x86/bin/valgrind", + "../../chromium/src/third_party/valgrind/linux_x86/bin/valgrind-listener", + "../../chromium/src/third_party/valgrind/linux_x86/bin/valgrind-tsan.sh", + "../../chromium/src/third_party/valgrind/linux_x86/bin/vgdb", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-core.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/32bit-sse.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-avx-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-avx-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-avx.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-core.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-sse-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-sse-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/64bit-sse.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-avx-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-avx-coresse.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-avx-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-avx-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/amd64-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-core.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-vfpv3-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-vfpv3-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-vfpv3.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-with-vfpv3-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/arm-with-vfpv3.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/default.supp", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/i386-coresse-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/i386-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/memcheck-x86-linux", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cp0-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cp0-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cp0.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-cpu.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-fpu.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-linux-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/mips-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-altivec-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-altivec-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-altivec.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-core.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-fpu-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-fpu-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-fpu.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-core-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-core-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-core.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-linux-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-linux-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/power64-linux.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/powerpc-altivec32l-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/powerpc-altivec32l.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/powerpc-altivec64l-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/powerpc-altivec64l.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-acr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-acr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-acr.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-fpr-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-fpr-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390-fpr.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-core64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-core64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-core64.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-generic-valgrind.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-generic.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-linux64-valgrind-s1.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-linux64-valgrind-s2.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/s390x-linux64.xml", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/vgpreload_core-x86-linux.so", + "../../chromium/src/third_party/valgrind/linux_x86/lib/valgrind/vgpreload_memcheck-x86-linux.so", + ] + } +} diff --git a/tools/valgrind-webrtc/valgrind-webrtc.gni b/tools/valgrind-webrtc/valgrind-webrtc.gni new file mode 100644 index 0000000000..1a5b8dea37 --- /dev/null +++ b/tools/valgrind-webrtc/valgrind-webrtc.gni @@ -0,0 +1,32 @@ +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +# TODO(ehmaldonado): Replace by the new paths once the upstream changes land. +# See https://codereview.chromium.org/2526883002/ for valgrind-binaries.gni and +# https://codereview.chromium.org/2517953007/ for python-google.gni and +# valgrind.gni +import("python-google.gni") +import("valgrind-binaries.gni") +import("valgrind.gni") + +valgrind_webrtc_dependencies = [ + "../../tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/peerconnection_unittests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/rtc_media_unittests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/rtc_media_unittests.gtest-memcheck_mac.txt", + "../../tools/valgrind-webrtc/gtest_exclude/rtc_pc_unittests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/rtc_unittests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/video_engine_tests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/gtest_exclude/webrtc_nonparallel_tests.gtest-memcheck.txt", + "../../tools/valgrind-webrtc/memcheck/suppressions.txt", + "../../tools/valgrind-webrtc/memcheck/suppressions_mac.txt", + "../../tools/valgrind-webrtc/memcheck/suppressions_win32.txt", + "../../tools/valgrind-webrtc/webrtc_tests.py", + "../../tools/valgrind-webrtc/webrtc_tests.sh", +] + valgrind_dependencies + valgrind_binaries + python_google diff --git a/tools/valgrind-webrtc/valgrind.gni b/tools/valgrind-webrtc/valgrind.gni new file mode 100644 index 0000000000..52be8e4757 --- /dev/null +++ b/tools/valgrind-webrtc/valgrind.gni @@ -0,0 +1,68 @@ +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +import("//build_overrides/build.gni") + +valgrind_dependencies = [ + "../../tools/valgrind/asan/asan_symbolize.py", + "../../tools/valgrind/asan/third_party/__init__.py", + "../../tools/valgrind/asan/third_party/asan_symbolize.py", + "../../tools/valgrind/browser_wrapper_win.py", + "../../tools/valgrind/chrome_tests.bat", + "../../tools/valgrind/chrome_tests.py", + "../../tools/valgrind/chrome_tests.sh", + "../../tools/valgrind/common.py", + "../../tools/valgrind/drmemory.bat", + "../../tools/valgrind/drmemory_analyze.py", + "../../tools/valgrind/fixed_suppressions.sh", + "../../tools/valgrind/gdb_helper.py", + "../../tools/valgrind/locate_valgrind.sh", + "../../tools/valgrind/memcheck/suppressions.txt", + "../../tools/valgrind/memcheck/suppressions_linux.txt", + "../../tools/valgrind/memcheck_analyze.py", + "../../tools/valgrind/regrind.sh", + "../../tools/valgrind/scan-build.py", + "../../tools/valgrind/suppressions.py", + "../../tools/valgrind/test_suppressions.py", + "../../tools/valgrind/unused_suppressions.py", + "../../tools/valgrind/valgrind.sh", + "../../tools/valgrind/valgrind_test.py", + "../../tools/valgrind/waterfall.sh", +] + +if (build_with_chromium) { + valgrind_dependencies += [ + "../../tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/aura_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/base_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt", + "../../tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt", + "../../tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt", + "../../tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/components_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/content_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt", + "../../tools/valgrind/gtest_exclude/ipc_tests.gtest.txt", + "../../tools/valgrind/gtest_exclude/media_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/net_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt", + "../../tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt", + "../../tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt", + "../../tools/valgrind/gtest_exclude/suppressions.txt", + "../../tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt", + "../../tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt", + "../../tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt", + "../../tools/valgrind/gtest_exclude/unit_tests.gtest.txt", + "../../tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt", + ] +} diff --git a/webrtc/build/mb_config.pyl b/webrtc/build/mb_config.pyl index 2a86e6218d..fceca6034e 100644 --- a/webrtc/build/mb_config.pyl +++ b/webrtc/build/mb_config.pyl @@ -40,7 +40,7 @@ 'Linux64 Debug': 'debug_bot_x64', 'Linux64 Release': 'release_bot_x64', 'Linux Asan': 'asan_lsan_clang_release_bot_x64', - 'Linux Memcheck': 'release_bot_x64', + 'Linux Memcheck': 'memcheck_release_bot_x64', 'Linux MSan': 'msan_clang_release_bot_x64', 'Linux Tsan v2': 'tsan_clang_release_bot_x64', 'Linux UBSan': 'ubsan_clang_release_bot_x64', @@ -231,6 +231,9 @@ 'perf_release_bot_x64': [ 'gn', 'openh264', 'release', 'static', 'goma', 'x64' ], + 'memcheck_release_bot_x64': [ + 'memcheck', 'gn', 'openh264_release_bot', 'x64' + ], # Windows 'win_clang_debug_bot_x86': [ @@ -368,6 +371,10 @@ 'gn_args': 'is_lsan=true', }, + 'memcheck': { + 'gn_args': 'rtc_use_memcheck=true', + }, + 'minimal_symbols': { 'gn_args': 'symbol_level=1', }, diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni index 5ab5d35973..17405c3cb3 100644 --- a/webrtc/build/webrtc.gni +++ b/webrtc/build/webrtc.gni @@ -118,6 +118,10 @@ declare_args() { # use file-based audio playout and record. rtc_use_dummy_audio_file_devices = false + # When set to true, test targets will declare the files needed to run memcheck + # as data dependencies. This is to enable memcheck execution on swarming bots. + rtc_use_memcheck = false + # FFmpeg must be initialized for |H264DecoderImpl| to work. This can be done # by WebRTC during |H264DecoderImpl::InitDecode| or externally. FFmpeg must # only be initialized once. Projects that initialize FFmpeg externally, such diff --git a/webrtc/test/BUILD.gn b/webrtc/test/BUILD.gn index 126857b50c..c7c6458008 100644 --- a/webrtc/test/BUILD.gn +++ b/webrtc/test/BUILD.gn @@ -11,6 +11,9 @@ import("//build/config/ui.gni") if (is_android) { import("//build/config/android/rules.gni") } +if (rtc_use_memcheck) { + import("//tools/valgrind-webrtc/valgrind-webrtc.gni") +} group("test") { testonly = true @@ -151,6 +154,10 @@ rtc_source_set("test_support") { if (is_android) { deps += [ "//base:base" ] } + + if (rtc_use_memcheck) { + data = valgrind_webrtc_dependencies + } } # Depend on this target when you want to have test_support but also the