OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2012 the V8 project authors. All rights reserved. | 3 # Copyright 2012 the V8 project authors. All rights reserved. |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 options.extra_flags = shlex.split(options.extra_flags) | 298 options.extra_flags = shlex.split(options.extra_flags) |
299 | 299 |
300 if options.gc_stress: | 300 if options.gc_stress: |
301 options.extra_flags += GC_STRESS_FLAGS | 301 options.extra_flags += GC_STRESS_FLAGS |
302 | 302 |
303 if options.asan: | 303 if options.asan: |
304 options.extra_flags.append("--invoke-weak-callbacks") | 304 options.extra_flags.append("--invoke-weak-callbacks") |
305 | 305 |
306 if options.tsan: | 306 if options.tsan: |
307 VARIANTS = ["default"] | 307 VARIANTS = ["default"] |
| 308 suppressions_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), |
| 309 'sanitizers', 'tsan_suppressions.txt') |
| 310 tsan_options = '%s suppressions=%s' % ( |
| 311 os.environ.get('TSAN_OPTIONS', ''), suppressions_file) |
| 312 os.environ['TSAN_OPTIONS'] = tsan_options |
308 | 313 |
309 if options.j == 0: | 314 if options.j == 0: |
310 options.j = multiprocessing.cpu_count() | 315 options.j = multiprocessing.cpu_count() |
311 | 316 |
312 while options.random_seed == 0: | 317 while options.random_seed == 0: |
313 options.random_seed = random.SystemRandom().randint(-2147483648, 2147483647) | 318 options.random_seed = random.SystemRandom().randint(-2147483648, 2147483647) |
314 | 319 |
315 def excl(*args): | 320 def excl(*args): |
316 """Returns true if zero or one of multiple arguments are true.""" | 321 """Returns true if zero or one of multiple arguments are true.""" |
317 return reduce(lambda x, y: x + y, args) <= 1 | 322 return reduce(lambda x, y: x + y, args) <= 1 |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 exit_code = runner.Run(options.j) | 578 exit_code = runner.Run(options.j) |
574 overall_duration = time.time() - start_time | 579 overall_duration = time.time() - start_time |
575 | 580 |
576 if options.time: | 581 if options.time: |
577 verbose.PrintTestDurations(suites, overall_duration) | 582 verbose.PrintTestDurations(suites, overall_duration) |
578 return exit_code | 583 return exit_code |
579 | 584 |
580 | 585 |
581 if __name__ == "__main__": | 586 if __name__ == "__main__": |
582 sys.exit(Main()) | 587 sys.exit(Main()) |
OLD | NEW |