コードカバレッジ データの収集を目的として、--instrumentation_filter
に一致するルール ターゲットのソースファイルと計測メタデータ ファイルに関する情報が含まれます。カバレッジ データの収集が有効になっている場合、instrumented_files
と metadata_files
の結合パスを含むマニフェストが入力としてテスト アクションに渡され、マニフェストのパスが環境変数 COVERAGE_MANIFEST
に記録されます。ソースファイルではなく、メタデータ ファイルも入力としてテスト アクションに渡されます。アスペクトの実装関数によって InstrumentedFilesInfo
が返された場合、ベースルール ターゲットの InstrumentedFilesInfo
は無視されます。
メンバー
instrumented_files
depset InstrumentedFilesInfo.instrumented_files
File
オブジェクトの depset
。
metadata_files
depset InstrumentedFilesInfo.metadata_files
File
オブジェクトの depset
。これらのファイルには、コードの実行後に LCOV 形式のカバレッジ出力を生成するために必要な追加情報が含まれています。たとえば、gcc
が -ftest-coverage
で実行されたときに生成される .gcno
ファイルなどです。
to_json
string InstrumentedFilesInfo.to_json()
---incompatible_struct_has_no_methods
では無効になっています。このフラグを使用すると、コードがまもなく削除される機能と互換性があることを確認できます。構造体パラメータから JSON 文字列を作成します。この方法は、すべての構造体要素が(再帰的に)文字列、整数、ブール値、他の構造体、これらの型のリスト、またはこれらの型の文字列キーと値を持つ辞書である場合にのみ機能します。文字列内の引用符と改行はエスケープされます。例:
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"}}}
非推奨: 代わりに、json.encode(x) または json.encode_indent(x) を使用してください。これは、構造体以外の値にも機能し、構造体フィールドの名前空間を汚染しません。
to_proto
string InstrumentedFilesInfo.to_proto()
---incompatible_struct_has_no_methods
では無効になっています。このフラグを使用すると、コードがまもなく削除される機能と互換性があることを確認できます。構造体パラメータからテキスト メッセージを作成します。このメソッドは、すべての構造体要素が(再帰的に)文字列、整数、ブール値、他の構造体、またはこれらの型の辞書またはリストである場合にのみ機能します。文字列内の引用符と改行はエスケープされます。構造体のキーは並べ替えられた順序で反復処理されます。例:
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 # }
非推奨: 代わりに proto.encode_text(x) を使用してください。