struct Message [src]

Members

Source

pub const Message = struct { pub const Header = extern struct { tag: Tag, /// Size of the body only; does not include this Header. bytes_len: u32, }; pub const Tag = enum(u32) { /// Body is a UTF-8 string. zig_version, /// Body is an ErrorBundle. error_bundle, /// Body is a EmitDigest. emit_digest, /// Body is a TestMetadata test_metadata, /// Body is a TestResults test_results, /// Body is a series of strings, delimited by null bytes. /// Each string is a prefixed file path. /// The first byte indicates the file prefix path (see prefixes fields /// of Cache). This byte is sent over the wire incremented so that null /// bytes are not confused with string terminators. /// The remaining bytes is the file path relative to that prefix. /// The prefixes are hard-coded in Compilation.create (cwd, zig lib dir, local cache dir) file_system_inputs, /// Body is a u64le that indicates the file path within the cache used /// to store coverage information. The integer is a hash of the PCs /// stored within that file. coverage_id, /// Body is a u64le that indicates the function pointer virtual memory /// address of the fuzz unit test. This is used to provide a starting /// point to view coverage. fuzz_start_addr, _, }; pub const PathPrefix = enum(u8) { cwd, zig_lib, local_cache, global_cache, }; /// Trailing: /// * extra: [extra_len]u32, /// * string_bytes: [string_bytes_len]u8, /// See `std.zig.ErrorBundle`. pub const ErrorBundle = extern struct { extra_len: u32, string_bytes_len: u32, }; /// Trailing: /// * name: [tests_len]u32 /// - null-terminated string_bytes index /// * expected_panic_msg: [tests_len]u32, /// - null-terminated string_bytes index /// - 0 means does not expect panic /// * string_bytes: [string_bytes_len]u8, pub const TestMetadata = extern struct { string_bytes_len: u32, tests_len: u32, }; pub const TestResults = extern struct { index: u32, flags: Flags, pub const Flags = packed struct(u32) { fail: bool, skip: bool, leak: bool, fuzz: bool, log_err_count: u28 = 0, }; }; /// Trailing: /// * the hex digest of the cache directory within the /o/ subdirectory. pub const EmitDigest = extern struct { flags: Flags, pub const Flags = packed struct(u8) { cache_hit: bool, reserved: u7 = 0, }; }; }