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

समस्या की शिकायत करें सोर्स देखें

इसमें --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) का इस्तेमाल करें.