Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: kselftest framework: add API to return pass/fail/* counts

Some tests print final pass/fail message based on fail count. Add
ksft_get_*_cnt() API to kselftest framework to return counts.

Update ksft_print_cnts() to print the test results summary message with
individual pass, fail, ... counters.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.com>

+10
+10
tools/testing/selftests/kselftest.h
··· 45 45 static inline void ksft_inc_xpass_cnt(void) { ksft_cnt.ksft_xpass++; } 46 46 static inline void ksft_inc_xskip_cnt(void) { ksft_cnt.ksft_xskip++; } 47 47 48 + static inline int ksft_get_pass_cnt(void) { return ksft_cnt.ksft_pass; } 49 + static inline int ksft_get_fail_cnt(void) { return ksft_cnt.ksft_fail; } 50 + static inline int ksft_get_xfail_cnt(void) { return ksft_cnt.ksft_xfail; } 51 + static inline int ksft_get_xpass_cnt(void) { return ksft_cnt.ksft_xpass; } 52 + static inline int ksft_get_xskip_cnt(void) { return ksft_cnt.ksft_xskip; } 53 + 48 54 static inline void ksft_print_header(void) 49 55 { 50 56 printf("TAP version 13\n"); ··· 58 52 59 53 static inline void ksft_print_cnts(void) 60 54 { 55 + printf("Pass %d Fail %d Xfail %d Xpass %d Skip %d\n", 56 + ksft_cnt.ksft_pass, ksft_cnt.ksft_fail, 57 + ksft_cnt.ksft_xfail, ksft_cnt.ksft_xpass, 58 + ksft_cnt.ksft_xskip); 61 59 printf("1..%d\n", ksft_test_num()); 62 60 } 63 61