Kod kapsamı veri toplama amacıyla --instrumentation_filter
ile eşleşen kural hedefleri için kaynak dosyalar ve enstrümantasyon meta veri dosyaları hakkında bilgi içerir. Kapsam verisi toplama etkinleştirildiğinde, instrumented_files
ve metadata_files
içindeki birleştirilmiş yolları içeren bir manifest, test işlemine giriş olarak iletilir. Manifestin yolu, COVERAGE_MANIFEST
ortam değişkeninde belirtilir. Kaynak dosyalar değil, meta veri dosyaları da giriş olarak test işlemine iletilir. Bir yön'ün uygulama işlevi tarafından InstrumentedFilesInfo
döndürüldüğünde, temel kural hedefindeki tüm InstrumentedFilesInfo
yoksayılır.
Üyeler
instrumented_files
depset InstrumentedFilesInfo.instrumented_files
File
nesnesinden oluşan depset
.
metadata_files
depset InstrumentedFilesInfo.metadata_files
File
nesneden depset
. Bu dosyalar, kod çalıştırıldıktan sonra LCOV biçiminde kapsam çıkışı oluşturmak için gereken ek bilgileri içerir (ör. gcc
, -ftest-coverage
ile çalıştırıldığında oluşturulan .gcno
dosyaları).
to_json
string InstrumentedFilesInfo.to_json()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın. struct parametresinden bir JSON dizesi oluşturur. Bu yöntem yalnızca tüm struct öğeleri (yinelemeli) dize, ints, boole, diğer struct, bu türlerin listesi veya bu türlerin dize anahtarları ve değerlerini içeren bir sözlük olduğunda çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar kod dışına alınır. Örnekler:
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"}}}
Desteği sonlandırıldı: Bunun yerine, struct'lar dışındaki değerler için çalışan ve struct alan ad alanını kirletmeyen json.encode(x) veya json.encode_indent(x) işlevlerini kullanın.
to_proto
string InstrumentedFilesInfo.to_proto()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın. struct parametresinden kısa mesaj oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (yeniden doğrulama) dize, tam sayı, boole, diğer yapılar veya bu türlerin sözlükleri ya da listeleri ise çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar, kaçış karakteri ile belirtilir. Yapı anahtarları, sıralı olarak yinelenir. Örnekler:
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 # }
Desteği sonlandırıldı: Bunun yerine proto.encode_text(x) işlevini kullanın.