OLD | NEW |
1 #! -*- python -*- | 1 #! -*- python -*- |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client 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 import atexit | 6 import atexit |
7 import json | 7 import json |
8 import os | 8 import os |
9 import platform | 9 import platform |
10 import re | 10 import re |
(...skipping 1878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1889 return [] | 1889 return [] |
1890 | 1890 |
1891 if env.Bit('asan'): | 1891 if env.Bit('asan'): |
1892 extra.setdefault('osenv', []) | 1892 extra.setdefault('osenv', []) |
1893 # Ensure that 'osenv' is a list. | 1893 # Ensure that 'osenv' is a list. |
1894 if isinstance(extra['osenv'], str): | 1894 if isinstance(extra['osenv'], str): |
1895 extra['osenv'] = [extra['osenv']] | 1895 extra['osenv'] = [extra['osenv']] |
1896 # ASan normally intercepts SIGSEGV and SIGFPE and disables our signal | 1896 # ASan normally intercepts SIGSEGV and SIGFPE and disables our signal |
1897 # handlers, which interferes with various NaCl tests, including the | 1897 # handlers, which interferes with various NaCl tests, including the |
1898 # platform qualification test built into sel_ldr. We fix this by telling | 1898 # platform qualification test built into sel_ldr. We fix this by telling |
1899 # ASan not to mess with SIGSEGV or SIGFPE. | 1899 # ASan not to mess with SIGSEGV and SIGFPE. |
1900 asan_options = ['handle_segv=0', 'handle_sigfpe=0'] | 1900 asan_options = ['handle_segv=0', 'handle_sigfpe=0'] |
| 1901 # ASan aborts on errors rather than exits. This changes the expected exit |
| 1902 # codes for some tests. |
| 1903 asan_options.append('abort_on_error=0') |
| 1904 |
1901 if env.Bit('host_mac') and int(platform.mac_ver()[0].split('.')[1]) < 7: | 1905 if env.Bit('host_mac') and int(platform.mac_ver()[0].split('.')[1]) < 7: |
1902 # MacOS 10.6 has a bug in the libsandbox system library where it | 1906 # MacOS 10.6 has a bug in the libsandbox system library where it |
1903 # makes a memcmp call that reads off the end of a malloc'd block. | 1907 # makes a memcmp call that reads off the end of a malloc'd block. |
1904 # The bug appears to be harmless, but trips an ASan report. So | 1908 # The bug appears to be harmless, but trips an ASan report. So |
1905 # tell ASan to suppress memcmp checks. | 1909 # tell ASan to suppress memcmp checks. |
1906 asan_options.append('strict_memcmp=0') | 1910 asan_options.append('strict_memcmp=0') |
1907 # TODO(mcgrathr): Remove this when we clean up all the crufty old | 1911 # TODO(mcgrathr): Remove this when we clean up all the crufty old |
1908 # code to be leak-free. | 1912 # code to be leak-free. |
1909 # https://code.google.com/p/nativeclient/issues/detail?id=3874 | 1913 # https://code.google.com/p/nativeclient/issues/detail?id=3874 |
1910 asan_options.append('detect_leaks=0') | 1914 asan_options.append('detect_leaks=0') |
(...skipping 2119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4030 nacl_env.ValidateSdk() | 4034 nacl_env.ValidateSdk() |
4031 | 4035 |
4032 if BROKEN_TEST_COUNT > 0: | 4036 if BROKEN_TEST_COUNT > 0: |
4033 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 4037 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
4034 if GetOption('brief_comstr'): | 4038 if GetOption('brief_comstr'): |
4035 msg += " Add --verbose to the command line for more information." | 4039 msg += " Add --verbose to the command line for more information." |
4036 print msg | 4040 print msg |
4037 | 4041 |
4038 # separate warnings from actual build output | 4042 # separate warnings from actual build output |
4039 Banner('B U I L D - O U T P U T:') | 4043 Banner('B U I L D - O U T P U T:') |
OLD | NEW |