इंस्ट्रूमेंट की गई फ़ाइलें

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

कोड कवरेज डेटा इकट्ठा करने के लिए, --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 स्ट्रिंग बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, अन्य स्ट्रक्चर, इन टाइप की सूची या स्ट्रिंग कुंजियों और इन टाइप की वैल्यू वाली डिक्शनरी हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. उदाहरण:
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 के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है.
स्ट्रक्चर पैरामीटर से टेक्स्ट मैसेज बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, दूसरे स्ट्रक्चर या dicts या इस तरह की सूचियां हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. स्ट्रक्चर की कुंजियों को क्रम से लगाया जाता है. उदाहरण:
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) का इस्तेमाल करें.