webrtc/tools_webrtc/coverage/generate_coverage_command.py
Christoffer Jansson 4e8a773b4b tools_webrtc dir converted to py3 + top level PRESUBMIT script
Bug: webrtc:13607
Change-Id: Ib018e43ea977cc24dd71048e68e3343741f7f31b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249083
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35953}
2022-02-08 14:42:26 +00:00

47 lines
1.6 KiB
Python

#!/usr/bin/env vpython3
# Copyright (c) 2018 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.
"""Generates a command-line for coverage.py. Useful for manual coverage runs.
Before running the generated command line, do this:
gn gen out/coverage --args='use_clang_coverage=true is_component_build=false'
"""
import sys
TESTS = [
'video_capture_tests', 'webrtc_nonparallel_tests', 'video_engine_tests',
'tools_unittests', 'test_support_unittests',
'system_wrappers_unittests', 'rtc_unittests', 'rtc_stats_unittests',
'rtc_pc_unittests', 'rtc_media_unittests', 'peerconnection_unittests',
'modules_unittests', 'modules_tests', 'low_bandwidth_audio_test',
'common_video_unittests', 'common_audio_unittests',
'audio_decoder_unittests'
]
def main():
cmd = ([sys.executable, 'tools/code_coverage/coverage.py'] + TESTS +
['-b out/coverage', '-o out/report'] +
['-i=\'.*/out/.*|.*/third_party/.*|.*test.*\''] +
['-c \'out/coverage/%s\'' % t for t in TESTS])
def WithXvfb(binary):
return '-c \'%s testing/xvfb.py %s\'' % (sys.executable, binary)
modules_unittests = 'out/coverage/modules_unittests'
cmd[cmd.index('-c \'%s\'' % modules_unittests)] = WithXvfb(modules_unittests)
print(' '.join(cmd))
return 0
if __name__ == '__main__':
sys.exit(main())