1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun #ifndef __SELFTEST_TIMENS_LOG_H__ 4*4882a593Smuzhiyun #define __SELFTEST_TIMENS_LOG_H__ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #define pr_msg(fmt, lvl, ...) \ 7*4882a593Smuzhiyun ksft_print_msg("[%s] (%s:%d)\t" fmt "\n", \ 8*4882a593Smuzhiyun lvl, __FILE__, __LINE__, ##__VA_ARGS__) 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define pr_p(func, fmt, ...) func(fmt ": %m", ##__VA_ARGS__) 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define pr_err(fmt, ...) \ 13*4882a593Smuzhiyun ({ \ 14*4882a593Smuzhiyun ksft_test_result_error(fmt "\n", ##__VA_ARGS__); \ 15*4882a593Smuzhiyun -1; \ 16*4882a593Smuzhiyun }) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #define pr_fail(fmt, ...) \ 19*4882a593Smuzhiyun ({ \ 20*4882a593Smuzhiyun ksft_test_result_fail(fmt, ##__VA_ARGS__); \ 21*4882a593Smuzhiyun -1; \ 22*4882a593Smuzhiyun }) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define pr_perror(fmt, ...) pr_p(pr_err, fmt, ##__VA_ARGS__) 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #endif 27