Documentation

deadend_test_driver

deadend_test_driver Description Run an array of deadend test functions (all expecting failure).

Read More

run_test_suite

run_test_suite Description Main test driver that handles both normal and deadend tests.

Read More

Scope

Scope Description Run a scoped block and automatically deinitialize the object at the end. Executes scope_body and ensures obj_deinit(obj) is called afterward, regardless of the block’s control flow. This is similar to RAII-style resource management in C++ but implemented manually via a macro. The object is passed by pointer. It is not copied or moved. This macro ensures the object is only evaluated once by capturing it internally using TYPE_OF. The memory pointed to by obj is not cleared after deinitialization; if zeroing is needed, do it inside obj_deinit. Parameters:

Read More

simple_test_driver

simple_test_driver Description Run an array of simple test functions.

Read More

test_deadend

test_deadend Description Run a specific test function using setjmp/longjmp to capture aborts. This is used for deadend tests that are expected to call LOG_FATAL.

Read More

ValidateBitVec

ValidateBitVec Description Validate whether a given BitVec object is valid. Not foolproof but will work most of the time. Aborts if provided BitVec is not valid.

Read More

ValidateVec

ValidateVec Description Validate whether a given Vec object is valid. Not foolproof but will work most of the time. Aborts if provided Vec is not valid.

Read More

VecAlignedOffsetAt

VecAlignedOffsetAt Description Vector implementation already manages alignment for stored objects. It makes sure that objects of improper size are stored at alignment of 8 bytes each to avoid UB.

Read More

VecAt

VecAt Description Value at given index in a vector. It’s strongly recommended to always use this instead of directly accessing the data.

Read More

VecBegin

VecBegin Description Pointer to first element in vector

Read More