| Index: testing/test_env.py | 
| diff --git a/testing/test_env.py b/testing/test_env.py | 
| index 66a3721beccb78c05d6299b6671a9ae2faf607a8..d19f74feee99b5f27c6d7e7ec9ca1a2133f1c554 100755 | 
| --- a/testing/test_env.py | 
| +++ b/testing/test_env.py | 
| @@ -73,20 +73,23 @@ def get_sanitizer_env(cmd, asan, lsan, msan, tsan): | 
| # fact, it needs symbolization to be able to apply suppressions. | 
| symbolization_options = ['symbolize=1', | 
| 'external_symbolizer_path=%s' % symbolizer_path] | 
| -  elif asan or msan: | 
| -    # ASan uses a script for offline symbolization. | 
| +  elif (asan or msan) and sys.platform not in ['win32', 'cygwin']: | 
| +    # ASan uses a script for offline symbolization, except on Windows. | 
| # Important note: when running ASan with leak detection enabled, we must use | 
| # the LSan symbolization options above. | 
| symbolization_options = ['symbolize=0'] | 
| # Set the path to llvm-symbolizer to be used by asan_symbolize.py | 
| extra_env['LLVM_SYMBOLIZER_PATH'] = symbolizer_path | 
| +  else: | 
| +    symbolization_options = [] | 
|  | 
| if asan: | 
| asan_options = symbolization_options[:] | 
| if lsan: | 
| asan_options.append('detect_leaks=1') | 
|  | 
| -    extra_env['ASAN_OPTIONS'] = ' '.join(asan_options) | 
| +    if asan_options: | 
| +      extra_env['ASAN_OPTIONS'] = ' '.join(asan_options) | 
|  | 
| if sys.platform == 'darwin': | 
| isolate_output_dir = os.path.abspath(os.path.dirname(cmd[0])) | 
| @@ -183,7 +186,13 @@ def run_executable(cmd, env): | 
| lsan = '--lsan=1' in cmd | 
| msan = '--msan=1' in cmd | 
| tsan = '--tsan=1' in cmd | 
| -  use_symbolization_script = (asan or msan) and not lsan | 
| +  if sys.platform in ['win32', 'cygwin']: | 
| +    # Symbolization works in-process on Windows even when sandboxed. | 
| +    use_symbolization_script = False | 
| +  else: | 
| +    # LSan doesn't support sandboxing yet, so we use the in-process symbolizer. | 
| +    # Note that ASan and MSan can work together with LSan. | 
| +    use_symbolization_script = (asan or msan) and not lsan | 
|  | 
| if asan or lsan or msan or tsan: | 
| extra_env.update(get_sanitizer_env(cmd, asan, lsan, msan, tsan)) | 
|  |