mirror of
https://github.com/ziglang/zig.git
synced 2026-10-14 10:27:43 -04:00
introduce a web interface for fuzzing
* new .zig-cache subdirectory: 'v'
- stores coverage information with filename of hash of PCs that want
coverage. This hash is a hex encoding of the 64-bit coverage ID.
* build runner
* fixed bug in file system inputs when a compile step has an
overridden zig_lib_dir field set.
* set some std lib options optimized for the build runner
- no side channel mitigations
- no Transport Layer Security
- no crypto fork safety
* add a --port CLI arg for choosing the port the fuzzing web interface
listens on. it defaults to choosing a random open port.
* introduce a web server, and serve a basic single page application
- shares wasm code with autodocs
- assets are created live on request, for convenient development
experience. main.wasm is properly cached if nothing changes.
- sources.tar comes from file system inputs (introduced with the
`--watch` feature)
* receives coverage ID from test runner and sends it on a thread-safe
queue to the WebServer.
* test runner
- takes a zig cache directory argument now, for where to put coverage
information.
- sends coverage ID to parent process
* fuzzer
- puts its logs (in debug mode) in .zig-cache/tmp/libfuzzer.log
- computes coverage_id and makes it available with
`fuzzer_coverage_id` exported function.
- the memory-mapped coverage file is now namespaced by the coverage id
in hex encoding, in `.zig-cache/v`
* tokenizer
- add a fuzz test to check that several properties are upheld
This commit is contained in:
1 parent
ffc050e055
commit
e0ffac4e3c
13 files changed
+872
-62
No files matched your search
@@ -53,7 +53,7 @@ export fn unpack(tar_ptr: [*]u8, tar_len: usize) void {
|
||||
const tar_bytes = tar_ptr[0..tar_len];
|
||||
//log.debug("received {d} bytes of tar file", .{tar_bytes.len});
|
||||
|
||||
unpack_inner(tar_bytes) catch |err| {
|
||||
unpackInner(tar_bytes) catch |err| {
|
||||
fatal("unable to unpack tar: {s}", .{@errorName(err)});
|
||||
};
|
||||
}
|
||||
@@ -750,7 +750,7 @@ export fn decl_type_html(decl_index: Decl.Index) String {
|
||||
|
||||
const Oom = error{OutOfMemory};
|
||||
|
||||
fn unpack_inner(tar_bytes: []u8) !void {
|
||||
fn unpackInner(tar_bytes: []u8) !void {
|
||||
var fbs = std.io.fixedBufferStream(tar_bytes);
|
||||
var file_name_buffer: [1024]u8 = undefined;
|
||||
var link_name_buffer: [1024]u8 = undefined;
|
||||
|
||||
Reference in new issue
Block a user