#!/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())

Add script for generating coverage.py commands.
Add script for generating coverage.py commands.

It's only correct for Linux for now.

Bug: chromium:844647
Change-Id: I8fce28d88a4d060553e30fe0862d34815988ba61
Reviewed-on: https://webrtc-review.googlesource.com/79149
Reviewed-by: Mirko Bonadei <d2c43c210eae6feef04f53bae50885e8152edcca@webrtc.org>
Commit-Queue: Patrik Höglund <b486136ee68458b09c92c86c39f451c87d6ef6a1@webrtc.org>
Cr-Commit-Position: 972c6d2dc6dd5efdad1377c0d224e03eb8f276f7@{#23418}