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