| Index: test/mac/gyptest-strip.py
|
| diff --git a/test/mac/gyptest-strip.py b/test/mac/gyptest-strip.py
|
| index 9ab26a558c0d43c634782f2e23cdf3de45b02b2a..e2c06c13589eb8359b9828dbadcdef192040572d 100755
|
| --- a/test/mac/gyptest-strip.py
|
| +++ b/test/mac/gyptest-strip.py
|
| @@ -9,6 +9,7 @@ Verifies that stripping works.
|
| """
|
|
|
| import TestGyp
|
| +import TestMac
|
|
|
| import re
|
| import subprocess
|
| @@ -28,19 +29,25 @@ if sys.platform == 'darwin':
|
|
|
| def CheckNsyms(p, n_expected):
|
| r = re.compile(r'nsyms\s+(\d+)')
|
| - proc = subprocess.Popen(['otool', '-l', p], stdout=subprocess.PIPE)
|
| - o = proc.communicate()[0]
|
| - assert not proc.returncode
|
| + o = subprocess.check_output(['otool', '-l', p])
|
| m = r.search(o)
|
| n = int(m.group(1))
|
| if n != n_expected:
|
| print 'Stripping: Expected %d symbols, got %d' % (n_expected, n)
|
| test.fail_test()
|
|
|
| + # Starting with Xcode 5.0, clang adds an additional symbols to the compiled
|
| + # file when using a relative path to the input file. So when using ninja
|
| + # with Xcode 5.0 or higher, take this additional symbol into consideration
|
| + # for unstripped builds (it is stripped by all strip commands).
|
| + expected_extra_symbol_count = 0
|
| + if test.format == 'ninja' and TestMac.Xcode.Version() >= '0500':
|
| + expected_extra_symbol_count = 1
|
| +
|
| # The actual numbers here are not interesting, they just need to be the same
|
| # in both the xcode and the make build.
|
| - CheckNsyms(OutPath('no_postprocess'), 29)
|
| - CheckNsyms(OutPath('no_strip'), 29)
|
| + CheckNsyms(OutPath('no_postprocess'), 29 + expected_extra_symbol_count)
|
| + CheckNsyms(OutPath('no_strip'), 29 + expected_extra_symbol_count)
|
| CheckNsyms(OutPath('strip_all'), 0)
|
| CheckNsyms(OutPath('strip_nonglobal'), 6)
|
| CheckNsyms(OutPath('strip_debugging'), 7)
|
|
|