Shuah Khan, Senior Kernel Engineer, Samsung Open Source Group, presents a new project she's helped to create to provide a 'self-test' framework for the Linux Kernel.
1. Kselftest
Short summary of work done so far for 3.17:
● fix compile errors and warnings in various tests
● fix run-time errors when tests aren't run as root
● enhance and improve cpu and memory hot-plug tests to
run in limited scope mode by default. A new make target to
select full-scope testing. Prior to this change, cpu and
memory hot-plug tests hung trying to hot-plug all but cpu0
and a large portion of the memory.
● add a new kselftest target to run existing selftests to start
with.
Shuah Khan
2. Kselftest
What's planned for 3.18 and beyond:
● get feedback on the new kselftest target from the community
● add more tests to be run under kselftest umbrella
● identify existing tests under /lib and other areas that make a good
candidate to be included under kselftest
● Some of these could be run as a tool and/or a independent test with a few
changes and some probably aren't like the /lib/locking tests.
● As a goal, try to leverage existing tests and modify them as needed to run
them as a black-box test (e.g: look into ways to make it run as a tool)
● Greg KH sparked the kernel selftest idea, has been in the loop for the
work done so far, and reviewed the plan for 3.18.
Shuah Khan
3. Kselftest discussion thread
summary
Desired features and potential test contributions:
● Incorporate kselftest into tool that cross-build, and boot on QEMU -
make it easier to sanity test as many architectures as possible
Grant Likely
● Improve tests to log statistics etc. - working towards automating
tests – Masami Hiramatsu
● Scripts to do build/boot/test cycle for cross-platform hardware – Tim
Bird (might have overlaps with ktest)
● Basic size test - build/boot/size comparisons for each config option
– Tim Bird
● Trigger cross-build from git pushes – Linus Walleij
Shuah Khan
4. Kselftest goals
● Grow kselftest to be a quick way for developers regression
test.
● Keep tests updated as new features get added to the
kernel
● Encourage test submissions
Shuah Khan
5. Test resources shared on the
discussion thread
● File system test tool: Tes s'o
https://git.kernel.org/cgit/fs/ext2/xfstests-bld.git/tree/kvm-xfstests/test-appl
iance/gen-image
● Boot test tool: Andy Lutomirski
https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git
● Rob Landley: http://landley.net/aboriginal/about.html
Shuah Khan
● Kevin Hillman:
– git://git.linaro.org/people/khilman/build-scripts.git
– https://git.linaro.org/people/kevin.hilman/pyboot.git
● Aneesh Kumar
– https://github.com/autotest/autotest-client-tests
– Sandbox setup for the above - https://github.com/autotest/virt-test