mirror of
https://github.com/falcosecurity/falco.git
synced 2025-08-02 06:52:10 +00:00
docs(tests): initial unit-tests readme
Signed-off-by: Lorenzo Fontana <lo@linux.com>
This commit is contained in:
parent
0f23a9477f
commit
e9e2547a44
58
tests/README.md
Normal file
58
tests/README.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Falco unit tests
|
||||
|
||||
This folder contains the unit-tests suite for Falco.
|
||||
The framework we use for unit-tests is [Catch2](https://github.com/catchorg/Catch2), while the one we use for mocking is [FakeIt](https://github.com/eranpeer/FakeIt).
|
||||
|
||||
|
||||
## How to write tests
|
||||
|
||||
When you want to test a new file or test a non tested file, remember four steps:
|
||||
|
||||
- The folder structure here is the same as the one in the `userspace` folder, so `userspace/engine` becomes `tests/engine`.
|
||||
- We call test files with this format `test_<original-file-name>.cpp`
|
||||
- Update the `CMakeLists.txt` file to include your file in `FALCO_TESTS_SOURCES` and change the `FALCO_TESTED_LIBRARIES` accordingly. You might aslo need to add dependencies, in that case, look at `target_link_libraries` and `target_include_directories`
|
||||
- If you are unsure on how to write tests, refer to our existing tests in this folder and to the [Catch2](https://github.com/catchorg/Catch2/tree/master/docs) documentation.
|
||||
|
||||
## How to execute tests
|
||||
|
||||
The suite can be configured with `cmake` and run with `make`.
|
||||
|
||||
|
||||
In the root folder of Falco, after creating the build directory:
|
||||
|
||||
```bash
|
||||
cd falco
|
||||
mkdir build
|
||||
cd build
|
||||
```
|
||||
|
||||
You can prepare the tests with:
|
||||
|
||||
```
|
||||
cmake ..
|
||||
```
|
||||
|
||||
Optionally, you can customize the test suite by passing custom arguments like the examples below:
|
||||
|
||||
**filter all tests containing the word ctor**
|
||||
|
||||
```bash
|
||||
cmake -DFALCO_TESTS_ARGUMENTS:STRING="-R ctor" ..
|
||||
```
|
||||
|
||||
**verbose execution**
|
||||
|
||||
```bash
|
||||
cmake -DFALCO_TESTS_ARGUMENTS:STRING="-V" ..
|
||||
```
|
||||
|
||||
|
||||
To see a list of all the custom arguments you may pass, execute `ctest --help` in your terminal.
|
||||
|
||||
|
||||
Once you are ready, you can run your configuration with:
|
||||
|
||||
```bash
|
||||
make tests
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user