2014-10-03 19:04:23 +04:00
/*
* 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>
2015-05-13 07:07:56 +03:00
/* define kselftest exit codes */
# define KSFT_PASS 0
# define KSFT_FAIL 1
# define KSFT_XFAIL 2
# define KSFT_XPASS 3
# define KSFT_SKIP 4
2014-10-03 19:04:23 +04:00
/* 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 )
{
2015-05-13 07:07:56 +03:00
exit ( KSFT_PASS ) ;
2014-10-03 19:04:23 +04:00
}
static inline int ksft_exit_fail ( void )
{
2015-05-13 07:07:56 +03:00
exit ( KSFT_FAIL ) ;
2014-10-03 19:04:23 +04:00
}
static inline int ksft_exit_xfail ( void )
{
2015-05-13 07:07:56 +03:00
exit ( KSFT_XFAIL ) ;
2014-10-03 19:04:23 +04:00
}
static inline int ksft_exit_xpass ( void )
{
2015-05-13 07:07:56 +03:00
exit ( KSFT_XPASS ) ;
2014-10-03 19:04:23 +04:00
}
static inline int ksft_exit_skip ( void )
{
2015-05-13 07:07:56 +03:00
exit ( KSFT_SKIP ) ;
2014-10-03 19:04:23 +04:00
}
# endif /* __KSELFTEST_H */