diff --git a/tools_webrtc/coverage/generate_coverage_command.py b/tools_webrtc/coverage/generate_coverage_command.py new file mode 100644 index 0000000000..c6b38d067f --- /dev/null +++ b/tools_webrtc/coverage/generate_coverage_command.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# 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', + 'ortc_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/.*\''] + + ['-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())