Kernel testing can be cumbersome. Sometimes it is tedious to verify correctness of something once; it is much harder to do it continuously.
This changes intends to reduce the bar to the kernel unit-testing approach by introducing a new kernel-testing framework ("ktest") based on Netlink, loadable test modules and python test suite integration.
This framework provides the following kernel-testing features:
- Integration to the FreeBSD test suite
- Automatic test discovery
- Automatic test module loading
- Minimal boiler-plate code in both kernel and userland
- Passing any metadata to the test
- Convenient environment pre-setup using python testing framework
- Streaming messages from the kernel to the userland
- Running tests in the dedicated taskqueues
- Skipping or parametrizing tests