libdpf/test
Ryan Henry cf8054a0b3 Add point-programmable vector commitments.
A commitment can be published before its hidden coordinate is chosen.
Opening one side of each aligned 1-bit DPF pair sets that coordinate or
the vector sum, and a shift moves it onto a public index.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 18:34:05 -06:00
..
googletest Update googletest to 1.18.0 and SIMDe to 0.8.2. 2026-09-24 14:30:19 -06:00
tests Add point-programmable vector commitments. 2026-09-26 18:34:05 -06:00
.gitignore Initial import of libdpf. 2026-09-24 14:08:32 -06:00
CMakeLists.txt Add point-programmable vector commitments. 2026-09-26 18:34:05 -06:00
README.md Initial import of libdpf. 2026-09-24 14:08:32 -06:00

How to build tests

To build the existing tests, simply run the following:

mkdir build && cd build
cmake ..
cmake --build .

How to run tests

Specific test executables will be placed in the bin subdirectory of the build directory. These can be run individually.

Alternatively the all_test executable in the build directory can be run which automatically runs all test executables.

How to generate coverage

First, when building the tests, make sure COVERAGE=ON as follows:

cmake -D COVERAGE=ON ..

Then after running all tests, run the following for gcovr coverage report:

mkdir coverage
gcovr --root '../..' --filter '\.\./\.\./include/.*' --html-details 'coverage/index.html' .

Building specific binaries

To build a specific binary, for example eval_point_test, use the following:

cmake --build . --target eval_point_test

Running specific tests

First, to list available tests use the following (using eval_point_test as the example executable):

./bin/eval_point_test --gtest_list_tests

Next, using the --gtest_filter option, specific tests can be run using pattern matching. ? matches a single character, * matches any substring, : seperates two patterns, and - at the beginning of a pattern makes it a negative pattern. Following is an example to only run Basic tests and ensure BasicPathMemoizer tests are not run:

./bin/eval_point_test --gtest_filter='*Basic*:-*BasicPathMemoizer*'