Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.04 KB

File metadata and controls

31 lines (25 loc) · 1.04 KB

Ltest

Build

It is not recommended to try install all required dependencies locally in your system. Build docker image and run container:

./scripts/rund.sh

Run

  • Run for release:
cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release
  • Run unit tests:
cmake --build build --target lin_check_test
  • Run verify:
cmake --build build --target verifying/targets/nonlinear_queue && ./build/verifying/targets/nonlinear_queue --tasks 10 --rounds 240 --strategy pct

Blocking

Verifying of blocking data structures uses syscall interception, so we need to build and install special hooks, that are required to be load through LD_PRELOAD:

cmake --build build --target verifying/blocking/nonlinear_mutex && LD_PRELOAD=build/syscall_intercept/libpreload.so ./build/verifying/blocking/nonlinear_mutex

Some blocking targets depends on boost and folly. For them you need to install boost and folly locally, and provide ./boost and ./folly symbolic links at the root of the project, then we can lincheck these targets.