Table of Contents

1 ck

The Config Keeper

2 build it

2.1 requirements

  • clang (llvm) or gcc (gnu)
  • cmake
  • sqlite3-dev

2.2 compiler

By default I use clang, if you want to use gcc just edit the CMakeLists.txt file and change clang to gcc

2.3 make

# clone the repo
> cd ~/code; git clone https://gitlab.com/grm-grm/ck
# make a build directory and enter it
> mkdir ~/ck_build; cd ~/ck_build;
# run cmake
> cmake ~/code/ck
# run make
> make
# run ck
> ./ck

3 for devs

3.1 make

Just build with address sanitizer enabled like so: llvm has better asan than gcc, so I use that.

# clone the repo
> cd ~/code; git clone https://gitlab.com/grm-grm/ck
# make a build directory and enter it
> mkdir ~/ck_build; cd ~/ck_build;
# run cmake
> cmake ~/code/ck -DCK_ASAN=ON
# run make
> make
# run ck
> ./ck

3.2 tests

The testing "suite" is a bash script that runs regression and unit tests. Regression tests are under the tests/ directory and are bash scripts that test ck functionality. Unit tests reside under unit/ directory and test the code.

3.2.1 run tests

Simply go to the build dir and type.

$ ./check_ck

3.2.2 test suite

$ ./check_ck -h
ck test suite
use without flags to run all tests

flags:
  -u, --unit            run only the unit tests
  -r, --regression      run only the regression tests
  -c, --clear           remove test files
                         use it if the tests fail
  -h, --help, *         print this

Created: 2018-09-20 Thu 20:23

Validate