| /* |
| * kselftest.h: kselftest framework return codes to include from |
| * selftests. |
| * |
| * Copyright (c) 2014 Shuah Khan <shuahkh@osg.samsung.com> |
| * Copyright (c) 2014 Samsung Electronics Co., Ltd. |
| * |
| * This file is released under the GPLv2. |
| */ |
| #ifndef __KSELFTEST_H |
| #define __KSELFTEST_H |
| |
| #include <stdlib.h> |
| #include <unistd.h> |
| |
| /* counters */ |
| struct ksft_count { |
| unsigned int ksft_pass; |
| unsigned int ksft_fail; |
| unsigned int ksft_xfail; |
| unsigned int ksft_xpass; |
| unsigned int ksft_xskip; |
| }; |
| |
| static struct ksft_count ksft_cnt; |
| |
| static inline void ksft_inc_pass_cnt(void) { ksft_cnt.ksft_pass++; } |
| static inline void ksft_inc_fail_cnt(void) { ksft_cnt.ksft_fail++; } |
| static inline void ksft_inc_xfail_cnt(void) { ksft_cnt.ksft_xfail++; } |
| static inline void ksft_inc_xpass_cnt(void) { ksft_cnt.ksft_xpass++; } |
| static inline void ksft_inc_xskip_cnt(void) { ksft_cnt.ksft_xskip++; } |
| |
| static inline void ksft_print_cnts(void) |
| { |
| printf("Pass: %d Fail: %d Xfail: %d Xpass: %d, Xskip: %d\n", |
| ksft_cnt.ksft_pass, ksft_cnt.ksft_fail, |
| ksft_cnt.ksft_xfail, ksft_cnt.ksft_xpass, |
| ksft_cnt.ksft_xskip); |
| } |
| |
| static inline int ksft_exit_pass(void) |
| { |
| exit(0); |
| } |
| static inline int ksft_exit_fail(void) |
| { |
| exit(1); |
| } |
| static inline int ksft_exit_xfail(void) |
| { |
| exit(2); |
| } |
| static inline int ksft_exit_xpass(void) |
| { |
| exit(3); |
| } |
| static inline int ksft_exit_skip(void) |
| { |
| exit(4); |
| } |
| |
| #endif /* __KSELFTEST_H */ |