OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """A tool to run a chrome test executable, used by the buildbot slaves. | 6 """A tool to run a chrome test executable, used by the buildbot slaves. |
7 | 7 |
8 When this is run, the current directory (cwd) should be the outer build | 8 When this is run, the current directory (cwd) should be the outer build |
9 directory (e.g., chrome-release/build/). | 9 directory (e.g., chrome-release/build/). |
10 | 10 |
(...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1025 'llvm-build', 'Release+Asserts', 'bin', 'llvm-symbolizer')) | 1025 'llvm-build', 'Release+Asserts', 'bin', 'llvm-symbolizer')) |
1026 tsan_options = ('suppressions=src/tools/valgrind/tsan_v2/suppressions.txt ' | 1026 tsan_options = ('suppressions=src/tools/valgrind/tsan_v2/suppressions.txt ' |
1027 'report_signal_unsafe=0 ' | 1027 'report_signal_unsafe=0 ' |
1028 'report_thread_leaks=0 ' | 1028 'report_thread_leaks=0 ' |
1029 'external_symbolizer_path=%s' % symbolizer_path) | 1029 'external_symbolizer_path=%s' % symbolizer_path) |
1030 if options.factory_properties.get('tsan', False): | 1030 if options.factory_properties.get('tsan', False): |
1031 os.environ['TSAN_OPTIONS'] = tsan_options | 1031 os.environ['TSAN_OPTIONS'] = tsan_options |
1032 if options.factory_properties.get('asan', False): | 1032 if options.factory_properties.get('asan', False): |
1033 # Set the path to llvm-symbolizer to be used by asan_symbolize.py | 1033 # Set the path to llvm-symbolizer to be used by asan_symbolize.py |
1034 os.environ['LLVM_SYMBOLIZER_PATH'] = symbolizer_path | 1034 os.environ['LLVM_SYMBOLIZER_PATH'] = symbolizer_path |
| 1035 # Avoid aggressive memcmp checks until http://crbug.com/178677 is fixed. |
| 1036 os.environ['ASAN_OPTIONS'] = 'strict_memcmp=0' |
1035 # Set the number of shards environement variables. | 1037 # Set the number of shards environement variables. |
1036 if options.total_shards and options.shard_index: | 1038 if options.total_shards and options.shard_index: |
1037 os.environ['GTEST_TOTAL_SHARDS'] = str(options.total_shards) | 1039 os.environ['GTEST_TOTAL_SHARDS'] = str(options.total_shards) |
1038 os.environ['GTEST_SHARD_INDEX'] = str(options.shard_index - 1) | 1040 os.environ['GTEST_SHARD_INDEX'] = str(options.shard_index - 1) |
1039 | 1041 |
1040 if options.results_directory: | 1042 if options.results_directory: |
1041 options.test_output_xml = os.path.normpath(os.path.join( | 1043 options.test_output_xml = os.path.normpath(os.path.join( |
1042 options.results_directory, '%s.xml' % options.test_type)) | 1044 options.results_directory, '%s.xml' % options.test_type)) |
1043 args.append('--gtest_output=xml:' + options.test_output_xml) | 1045 args.append('--gtest_output=xml:' + options.test_output_xml) |
1044 | 1046 |
(...skipping 26 matching lines...) Expand all Loading... |
1071 '%d new files were left in %s: Fix the tests to clean up themselves.' | 1073 '%d new files were left in %s: Fix the tests to clean up themselves.' |
1072 ) % ((new_temp_files - temp_files), tempfile.gettempdir()) | 1074 ) % ((new_temp_files - temp_files), tempfile.gettempdir()) |
1073 # TODO(maruel): Make it an error soon. Not yet since I want to iron out all | 1075 # TODO(maruel): Make it an error soon. Not yet since I want to iron out all |
1074 # the remaining cases before. | 1076 # the remaining cases before. |
1075 #result = 1 | 1077 #result = 1 |
1076 return result | 1078 return result |
1077 | 1079 |
1078 | 1080 |
1079 if '__main__' == __name__: | 1081 if '__main__' == __name__: |
1080 sys.exit(main()) | 1082 sys.exit(main()) |
OLD | NEW |