Extensions >
API reference >
InstrumentedFilesInfo
InstrumentedFilesInfo
Contains information about source files and instrumentation metadata files for rule targets matched by
--instrumentation_filter
for purposes of
code coverage data collection. When coverage data collection is enabled, a manifest containing the combined paths in
instrumented_files
and
metadata_files
are passed to the test action as inputs, with the manifest's path noted in the environment variable
COVERAGE_MANIFEST
. The metadata files, but not the source files, are also passed to the test action as inputs.
instrumented_files
depset InstrumentedFilesInfo.instrumented_files
depset
of
File
objects representing instrumented source files for this target and its dependencies.
depset InstrumentedFilesInfo.metadata_files
depset
of
File
objects representing coverage metadata files for this target and its dependencies. These files contain additional information required to generate LCOV-format coverage output after the code is executed, e.g. the
.gcno
files generated when
gcc
is run with
-ftest-coverage
.
to_json
string InstrumentedFilesInfo.to_json()
Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:
struct(key=123).to_json()
# {"key":123}
struct(key=True).to_json()
# {"key":true}
struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}
struct(key='text').to_json()
# {"key":"text"}
struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}
struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}
struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
to_proto
string InstrumentedFilesInfo.to_proto()
Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:
struct(key=123).to_proto()
# key: 123
struct(key=True).to_proto()
# key: true
struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3
struct(key='text').to_proto()
# key: "text"
struct(key=struct(inner_key='text')).to_proto()
# key {
# inner_key: "text"
# }
struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
# inner_key: 1
# }
# key {
# inner_key: 2
# }
struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
# inner_key {
# inner_inner_key: "text"
# }
# }
struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
# key: 4
# value: 3
# }
# foo: {
# key: 2
# value: 1
# }