libdpf/test
2026-09-24 20:44:07 -06:00
..
googletest Update googletest to 1.18.0 and SIMDe to 0.8.2. 2026-09-24 14:30:19 -06:00
tests Annotate noexcept and constexpr with HEDLEY, and add interval containment, ChaCha, and the dyadic range tables. 2026-09-24 20:44:07 -06:00
.gitignore Initial import of libdpf. 2026-09-24 14:08:32 -06:00
CMakeLists.txt Annotate noexcept and constexpr with HEDLEY, and add interval containment, ChaCha, and the dyadic range tables. 2026-09-24 20:44:07 -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*'