42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/* This is a really minimal testing framework for C.
|
|
*
|
|
* Example:
|
|
*
|
|
* test_cond("Check if 1 == 1", 1==1)
|
|
* test_cond("Check if 5 > 10", 5 > 10)
|
|
* test_report()
|
|
*
|
|
* ----------------------------------------------------------------------------
|
|
*
|
|
* Copyright (c) 2009-Present, Redis Ltd.
|
|
* All rights reserved.
|
|
*
|
|
* Licensed under your choice of the Redis Source Available License 2.0
|
|
* (RSALv2) or the Server Side Public License v1 (SSPLv1).
|
|
*/
|
|
|
|
#ifndef __TESTHELP_H
|
|
#define __TESTHELP_H
|
|
|
|
#define REDIS_TEST_ACCURATE (1<<0)
|
|
#define REDIS_TEST_LARGE_MEMORY (1<<1)
|
|
#define REDIS_TEST_VALGRIND (1<<2)
|
|
|
|
extern int __failed_tests;
|
|
extern int __test_num;
|
|
|
|
#define test_cond(descr,_c) do { \
|
|
__test_num++; printf("%d - %s: ", __test_num, descr); \
|
|
if(_c) printf("PASSED\n"); else {printf("FAILED\n"); __failed_tests++;} \
|
|
} while(0)
|
|
#define test_report() do { \
|
|
printf("%d tests, %d passed, %d failed\n", __test_num, \
|
|
__test_num-__failed_tests, __failed_tests); \
|
|
if (__failed_tests) { \
|
|
printf("=== WARNING === We have failed tests here...\n"); \
|
|
exit(1); \
|
|
} \
|
|
} while(0)
|
|
|
|
#endif
|