| 
									
										
										
										
											2014-10-03 09:04:23 -06: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-12 21:07:56 -07: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 09:04:23 -06: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-12 21:07:56 -07:00
										 |  |  | 	exit(KSFT_PASS); | 
					
						
							| 
									
										
										
										
											2014-10-03 09:04:23 -06:00
										 |  |  | } | 
					
						
							|  |  |  | static inline int ksft_exit_fail(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-05-12 21:07:56 -07:00
										 |  |  | 	exit(KSFT_FAIL); | 
					
						
							| 
									
										
										
										
											2014-10-03 09:04:23 -06:00
										 |  |  | } | 
					
						
							|  |  |  | static inline int ksft_exit_xfail(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-05-12 21:07:56 -07:00
										 |  |  | 	exit(KSFT_XFAIL); | 
					
						
							| 
									
										
										
										
											2014-10-03 09:04:23 -06:00
										 |  |  | } | 
					
						
							|  |  |  | static inline int ksft_exit_xpass(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-05-12 21:07:56 -07:00
										 |  |  | 	exit(KSFT_XPASS); | 
					
						
							| 
									
										
										
										
											2014-10-03 09:04:23 -06:00
										 |  |  | } | 
					
						
							|  |  |  | static inline int ksft_exit_skip(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-05-12 21:07:56 -07:00
										 |  |  | 	exit(KSFT_SKIP); | 
					
						
							| 
									
										
										
										
											2014-10-03 09:04:23 -06:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __KSELFTEST_H */
 |