libdpf/test
Ryan Henry 4163b536a0 Stop tracking ASAN build trees and ignore local build artifacts.
The prior checkpoint accidentally included test/build-asan outputs; drop them and broaden the ignore rules so they stay local.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 06:02:00 -06:00
..
googletest Update googletest to 1.18.0 and SIMDe to 0.8.2. 2026-09-24 14:30:19 -06:00
profile Stop tracking ASAN build trees and ignore local build artifacts. 2026-09-28 06:02:00 -06:00
tests Checkpoint the party/runtime stack before share-program and malicious-mode work. 2026-09-28 05:59:19 -06:00
.gitignore Initial import of libdpf. 2026-09-24 14:08:32 -06:00
CMakeLists.txt Checkpoint the party/runtime stack before share-program and malicious-mode work. 2026-09-28 05:59:19 -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*'