File: generate_coverage_command.py

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (46 lines) | stat: -rw-r--r-- 1,616 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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', '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())