update Readme

This commit is contained in:
stubbfel
2018-09-06 22:12:10 +02:00
committed by stubbfel
parent ab540cbeb2
commit fd8c7adfab
3 changed files with 18 additions and 19 deletions

View File

@@ -1,16 +1,17 @@
# Kunity test runner module # Kunity test runner module
The Kunity test runner runs any kunity tests (see [KUnity-Core](/kttd/KUnity-Core)) by a kernel module.
Is a runner module for runnig kunity test cases (see xxx). The module search for test function in the symbol table and made the them executionable byy uspase (via proc file) This module search for test function in the symbol table of the kernel space (https://www.linux.com/learn/kernel-newbie-corner-kernel-symbols-whats-available-your-module-what-isnt) and made them runable for the userspace (by proc files).
## proc file struce ## proc file struce
* /proc/kunity_test ```plain
* <modulename>-folder + /proc/kunity_test
* <modulename>-file -> read of this file, will be run all test case of this module + <modulename>
* single_tests - <modulename> -> read of this file, will be run all test case of this module
* test_name-file -> read of this file, will be run the specific test case + single_tests
- <test_name> -> read of this file, will be run the specific test case
```
## building module ## building module
@@ -20,27 +21,25 @@ Is a runner module for runnig kunity test cases (see xxx). The module search for
mkdir build mkdir build
cd build cd build
cmake ../ cmake ../
# cmake -DKERNEL_DIR=<path/to/kernel/module/build/#!/usr/bin/env ../ # cmake -DKERNEL_DIR=<path/to/kernel/module/build> ../
make make
#load module by "insmod kunity_test_runner_module/kunity_test_runner_module.ko" #load module by "insmod kunity_test_runner_module/kunity_test_runner_module.ko"
``` ```
By default "the /lib/modules/${CMAKE_SYSTEM_VERSION}/build" path is use for the kernel build path. This path can be change by using the KERNEL_DIR option By default the `/lib/modules/${CMAKE_SYSTEM_VERSION}/build` path is use for the kernel build path. This path can be change by using the `KERNEL_DIR` option.
### KBuild ### KBuild
```bash ```bash
make -C /lib/modules/<KVerision>/build M=${PWD} modules KBUILD_EXTRA_SYMBOLS=${PWD}/Module.symvers make -C /lib/modules/<KernelVersion>/build M=${PWD} modules KBUILD_EXTRA_SYMBOLS=${PWD}/Module.symvers
#load module by "insmod kunity_test_runner_module.ko" #load module by "insmod kunity_test_runner_module.ko"
``` ```
## execution ## execution
simple use cat on the proc file :) simple use `cat` on the proc file :) like : `cat /proc/kunity_test/my_module/single_tests/my_first_module_test`
## module parameter ## module parameter
* proc_test_root_folder_name = The name of the proc folder, which will contains the test proc files. (Default is "kunity_test") * proc_test_root_folder_name - The name of the proc folder, which will contains the test proc files. (Default is "kunity_test")
* test_function_filter =a filter option for test function names, which the runner is looking for. (Default is "kunity_test_*") * test_function_filter - a filter option for test function names, which the runner is looking for. (Default is "kunity_test_*")
* module_filter = a filter option for modules, which the runner is looking for test functions. (Default is * -> search in all modules) * module_filter - a filter option for modules, which the runner is looking for test functions. (Default is * -> search in all modules)