40 lines
1.6 KiB
Text
40 lines
1.6 KiB
Text
# Copyright 2017 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//chromium/build/toolchain/toolchain.gni")
|
|
if (is_fuchsia) {
|
|
import("//third_party/fuchsia-sdk/sdk/build/component.gni")
|
|
}
|
|
|
|
# There are two ways to enable code coverage instrumentation:
|
|
# 1. When |use_clang_coverage| or |use_jacoco_coverage| is true and
|
|
# |coverage_instrumentation_input_file| is empty, all source files or
|
|
# Java class files are instrumented.
|
|
# 2. When |use_clang_coverage| or |use_jacoco_coverage| is true and
|
|
# |coverage_instrumentation_input_file| is NOT empty and points to
|
|
# a text file on the file system, ONLY source files specified in the
|
|
# input file or Java class files related to source files are instrumented.
|
|
declare_args() {
|
|
# Enable Clang's Source-based Code Coverage.
|
|
if (is_fuchsia) {
|
|
use_clang_coverage = fuchsia_code_coverage
|
|
} else {
|
|
use_clang_coverage = false
|
|
}
|
|
|
|
# Enables JaCoCo Java code coverage.
|
|
use_jacoco_coverage = false
|
|
|
|
# The path to the coverage instrumentation input file should be a source root
|
|
# absolute path (e.g. //out/Release/coverage_instrumentation_input.txt), and
|
|
# the file consists of multiple lines where each line represents a path to a
|
|
# source file, and the paths must be relative to the root build directory.
|
|
# e.g. ../../base/task/post_task.cc for build directory 'out/Release'.
|
|
#
|
|
# NOTE that this arg will be non-op if use_clang_coverage is false.
|
|
coverage_instrumentation_input_file = ""
|
|
}
|
|
|
|
assert(!use_clang_coverage || is_clang,
|
|
"Clang Source-based Code Coverage requires clang.")
|