ข้อมูลคีย์บอร์ด

มีข้อมูลเกี่ยวกับไฟล์ต้นฉบับและไฟล์ข้อมูลเมตาของการวัดประสิทธิภาพสำหรับเป้าหมายของกฎที่ตรงกันโดย --instrumentation_filter เพื่อวัตถุประสงค์ในการรวบรวมข้อมูลความครอบคลุมของโค้ด เมื่อเปิดใช้การเก็บรวบรวมข้อมูลความครอบคลุม ระบบจะส่งไฟล์ Manifest ที่มีเส้นทางรวมใน instrumented_files และ metadata_files ไปยังการทดสอบเป็นการป้อนข้อมูล โดยจะบันทึกเส้นทางของไฟล์ Manifest ไว้ในตัวแปรสภาพแวดล้อม COVERAGE_MANIFEST นอกจากนี้ ระบบยังส่งไฟล์ข้อมูลเมตาไปยังการทดสอบเป็นอินพุตด้วย แต่จะไม่ส่งไฟล์ต้นฉบับ เมื่อฟังก์ชันการติดตั้งใช้งานของแง่มุมแสดงผล InstrumentedFilesInfo ระบบจะไม่สนใจ InstrumentedFilesInfo ใดๆ จากเป้าหมายกฎพื้นฐาน

สมาชิก

instrumented_files

depset InstrumentedFilesInfo.instrumented_files

depset ของออบเจ็กต์ File ที่แสดงไฟล์แหล่งข้อมูลที่วัดผลสำหรับเป้าหมายนี้และการขึ้นต่อกัน

metadata_files

depset InstrumentedFilesInfo.metadata_files

depset ของออบเจ็กต์ File ที่แสดงไฟล์ข้อมูลเมตาของความครอบคลุมสำหรับเป้าหมายนี้และการขึ้นต่อกัน ไฟล์เหล่านี้มีข้อมูลเพิ่มเติมที่จำเป็นต่อการสร้างเอาต์พุตความครอบคลุมในรูปแบบ LCOV หลังจากที่โค้ดได้รับการดำเนินการ เช่น ไฟล์ .gcno ที่สร้างขึ้นเมื่อเรียกใช้ gcc ด้วย -ftest-coverage

to_json

string InstrumentedFilesInfo.to_json()

เลิกใช้งาน API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag ---incompatible_struct_has_no_methods ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออก
สร้างสตริง JSON จากพารามิเตอร์โครงสร้าง วิธีนี้จะใช้ได้ก็ต่อเมื่อองค์ประกอบ struct ทั้งหมด (รวมถึงที่ซ้อนอยู่) เป็นสตริง, int, บูลีน, struct อื่นๆ, รายการของชนิดข้อมูลเหล่านี้ หรือพจนานุกรมที่มีคีย์และค่าของสตริงชนิดดังกล่าว ระบบจะใช้อักขระหลีกแทนเครื่องหมายคำพูดและบรรทัดใหม่ในสตริง ตัวอย่าง
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) แทน ซึ่งใช้ได้กับค่าอื่นๆ ที่ไม่ใช่ structs และไม่ทำให้เนมสเปซของฟิลด์ structs เสียหาย

to_proto

string InstrumentedFilesInfo.to_proto()

เลิกใช้งาน API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag ---incompatible_struct_has_no_methods ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออก
สร้างข้อความจากพารามิเตอร์ struct วิธีนี้จะใช้ได้ก็ต่อเมื่อองค์ประกอบ struct ทั้งหมด (รวมถึงที่ซ้อนอยู่) เป็นสตริง, int, บูลีน, struct หรือพจนานุกรม หรือรายการอื่นๆ ที่เป็นชนิดข้อมูลเหล่านี้ ระบบจะใช้อักขระหลีกแทนเครื่องหมายคำพูดและบรรทัดใหม่ในสตริง และจะวนซ้ำคีย์ Struct ตามลำดับที่จัดเรียง ตัวอย่าง
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) แทน