| #!/usr/bin/env vpython3 |
| |
| # Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| import re |
| import subprocess |
| import sys |
| |
| WEBRTC_VERSION_RE = re.compile( |
| r'WebRTC source stamp [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}' |
| ) |
| |
| |
| if __name__ == '__main__': |
| args = sys.argv |
| if len(args) != 2: |
| print('Usage: binary_version_test.py <FILE_NAME>') |
| sys.exit(1) |
| filename = sys.argv[1] |
| output = subprocess.check_output(['strings', filename]) |
| strings_in_binary = output.decode('utf-8').splitlines() |
| for symbol in strings_in_binary: |
| if WEBRTC_VERSION_RE.match(symbol): |
| with open('webrtc_binary_version_check', 'w') as f: |
| f.write(symbol) |
| sys.exit(0) |
| print('WebRTC source timestamp not found in "%s"' % filename) |
| print('Check why "kSourceTimestamp" from call/version.cc is not linked ' |
| '(or why it has been optimized away by the compiler/linker)') |
| sys.exit(1) |