4b95dc8736
This kselftest update for Linux 6.10-rc1 consists of: - changes to make framework and tests reporting KTAP compliant - changes to make ktap_helpers and power_supply test POSIX compliant - adds ksft_exit_fail_perror() to include errono in string form - fixes to avoid clang reporting false positive static analysis errors about functions that exit and never return. ksft_exit* functions are marked __noreturn to address this problem - adds mechanism for reporting a KSFT_ result code - fixes to build warnings related missing headers and unused variables - fixes to clang build failures - cleanups to resctrl test - adds host arch for LLVM builds -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAmZCRtQACgkQCwJExA0N QxzHdQ/+KhuP8hFcou0rJpCMum+mATe0fXeqcA+lrjwWI7JeTdFb+YmaSCeoQeg7 uHR/oxr6wk7a8I8Yg1aK4CRZaQhTwf9/zR0/QGxqt/hgGdPBf9BzZZ3oNnNBzccN 2qoB2OT83hS3j7YI944EuimrmXSGwdVbqBHefmTEH6tJ4TeIIC2tZOaQcpItAFAC 0UiibwDFiI3grPtzIkoSNGsJLXaBt2wa7G9j3AB74zVkJ/DCuEw8u/Wv0eG1v9Zt pUHx4w2sTk4QF1Njxzaflply6FCgNzhn8NMSNDp/mjc+SdUgxL1pRYcgvr/GE1Ye qy4TNMui+5iG68bsqja+l8oDXkTNCcwMC6v9dWwzrbTUDp0fJk3aGjchrzKq2Ef7 JSLr8gQm2U17asus4XyCQys7doJG7+iXKzhpDTMFkfDHkWazpL4EeXpFDuRTFyDc zIzcmgBR2xjvQMGyVIhoygGw/RTIYZwpu+r6hnrXMG+DfrTlsv9uMk0CvJioBEwP OZ67qc/dO1UhHSp30g4x5eqWfEX+ndMjw7yKZemwz2h0ltnwob8INIiQm6/eBsHj TZDNLzxWkydSwQwS/q71eYup2BTFjKzF744DjUCePGzLwd0LJfCE/GPKe9Ugf3th IzGx+9EiDRlFKZ3fQyJFcgu06vO8ko1mfg6CqFCReqUpW/8rk/s= =XIu6 -----END PGP SIGNATURE----- Merge tag 'linux_kselftest-next-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: - make framework and tests reporting KTAP compliant - make ktap_helpers and power_supply test POSIX compliant - add ksft_exit_fail_perror() to include errono in string form - avoid clang reporting false positive static analysis errors about functions that exit and never return. ksft_exit* functions are marked __noreturn to address this problem - add mechanism for reporting a KSFT_ result code - fix build warnings related missing headers and unused variables - fix clang build failures - cleanups to resctrl test - add host arch for LLVM builds * tag 'linux_kselftest-next-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (44 commits) selftests/sgx: Include KHDR_INCLUDES in Makefile selftests: Compile kselftest headers with -D_GNU_SOURCE selftests/resctrl: fix clang build warnings related to abs(), labs() calls selftests/ftrace: Fix checkbashisms errors selftests/ftrace: Fix BTFARG testcase to check fprobe is enabled correctly selftests/capabilities: fix warn_unused_result build warnings selftests: filesystems: add missing stddef header selftests: kselftest_deps: fix l5_test() empty variable selftests: default to host arch for LLVM builds selftests/resctrl: fix clang build failure: use LOCAL_HDRS selftests/binderfs: use the Makefile's rules, not Make's implicit rules Documentation: kselftest: fix codeblock selftests: kselftest: Make ksft_exit functions return void instead of int selftests: x86: ksft_exit_pass() does not return selftests: timers: ksft_exit functions do not return selftests: sync: ksft_exit_pass() does not return selftests/resctrl: ksft_exit_skip() does not return selftests: pidfd: ksft_exit functions do not return selftests/mm: ksft_exit functions do not return selftests: membarrier: ksft_exit_pass() does not return ...
Linux Ftrace Testcases This is a collection of testcases for ftrace tracing feature in the Linux kernel. Since ftrace exports interfaces via the debugfs, we just need shell scripts for testing. Feel free to add new test cases. Running the ftrace testcases ============================ At first, you need to be the root user to run this script. To run all testcases: $ sudo ./ftracetest To run specific testcases: # ./ftracetest test.d/basic3.tc Or you can also run testcases under given directory: # ./ftracetest test.d/kprobe/ Contributing new testcases ========================== Copy test.d/template to your testcase (whose filename must have *.tc extension) and rewrite the test description line. * The working directory of the script is <debugfs>/tracing/. * Take care with side effects as the tests are run with root privilege. * The tests should not run for a long period of time (more than 1 min.) These are to be unit tests. * You can add a directory for your testcases under test.d/ if needed. * The test cases should run on dash (busybox shell) for testing on minimal cross-build environments. * Note that the tests are run with "set -e" (errexit) option. If any command fails, the test will be terminated immediately. * The tests can return some result codes instead of pass or fail by using exit_unresolved, exit_untested, exit_unsupported and exit_xfail. Result code =========== Ftracetest supports following result codes. * PASS: The test succeeded as expected. The test which exits with 0 is counted as passed test. * FAIL: The test failed, but was expected to succeed. The test which exits with !0 is counted as failed test. * UNRESOLVED: The test produced unclear or intermidiate results. for example, the test was interrupted or the test depends on a previous test, which failed. or the test was set up incorrectly The test which is in above situation, must call exit_unresolved. * UNTESTED: The test was not run, currently just a placeholder. In this case, the test must call exit_untested. * UNSUPPORTED: The test failed because of lack of feature. In this case, the test must call exit_unsupported. * XFAIL: The test failed, and was expected to fail. To return XFAIL, call exit_xfail from the test. There are some sample test scripts for result code under samples/. You can also run samples as below: # ./ftracetest samples/ TODO ==== * Fancy colored output :)