|
infix
A JIT-Powered FFI Library for C
|
A suite of regression tests for bugs discovered by fuzzing. More...
#include "common/compat_c23.h"#include "common/double_tap.h"#include "fuzz_helpers.h"#include "fuzz_regression_helpers.h"#include <infix/infix.h>Classes | |
| struct | regression_test_case_t |
Macros | |
| #define | DBLTAP_IMPLEMENTATION |
Enumerations | |
| enum | fuzzer_target_t { TARGET_TYPE_GENERATOR , TARGET_SIGNATURE_PARSER , TARGET_TRAMPOLINE_GENERATOR , TARGET_DIRECT_TRAMPOLINE_GENERATOR } |
Functions | |
| void | dummy_reg_handler (void) |
| static infix_direct_value_t | dummy_scalar_marshaller (void *src) |
| static void | dummy_agg_marshaller (void *src, void *dest, const infix_type *type) |
| static void | dummy_writeback (void *src, void *c_data, const infix_type *type) |
| static void | dummy_target_func (void) |
| static void | run_regression_case (const regression_test_case_t *test) |
| plan (num_tests) | |
| for (size_t i=0;i< num_tests;++i) run_regression_case(®ression_tests[i]) | |
Variables | |
| static const regression_test_case_t | regression_tests [] |
| TEST | |
A suite of regression tests for bugs discovered by fuzzing.
This test file contains a collection of specific inputs that have been identified by fuzzing tools (like libFuzzer and AFL) as causing a crash, timeout, memory leak, or other bug in the past.
Each test case consists of:
TARGET_TYPE_GENERATOR, TARGET_SIGNATURE_PARSER, etc.) that the input should be sent to.By embedding these inputs into a permanent unit test, we can ensure that these specific bugs do not reappear in future versions of the library. This forms a crucial part of the project's quality assurance process. The infix_b64_decode helper from fuzz_regression_helpers.h is used to unpack the inputs at runtime.
| #define DBLTAP_IMPLEMENTATION |
| enum fuzzer_target_t |
|
static |
| void dummy_reg_handler | ( | void | ) |
|
static |
|
static |
|
static |
| for | ( | ) | & |
| plan | ( | num_tests | ) |
|
static |
|
static |
| TEST |