?????????redis??sds?????????redis????????????????????????????????д???????????д???е???????????о????鷳?????????????о????????????????á?
??????????????£?

 

/* 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) 2010-2012?? Salvatore Sanfilippo <antirez at gmail dot com>
* All rights reserved.
*
* Redistribution and use in source and binary forms?? with or without
* modification?? are permitted provided that the following conditions are met:
*
*   * Redistributions of source code must retain the above copyright notice??
*     this list of conditions and the following disclaimer.
*   * Redistributions in binary form must reproduce the above copyright
*     notice?? this list of conditions and the following disclaimer in the
*     documentation and/or other materials provided with the distribution.
*   * Neither the name of Redis nor the names of its contributors may be used
*     to endorse or promote products derived from this software without
*     specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES?? INCLUDING?? BUT NOT LIMITED TO?? THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT?? INDIRECT?? INCIDENTAL?? SPECIAL?? EXEMPLARY?? OR
* CONSEQUENTIAL DAMAGES (INCLUDING?? BUT NOT LIMITED TO?? PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE?? DATA?? OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY?? WHETHER IN
* CONTRACT?? STRICT LIABILITY?? OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE?? EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef __TESTHELP_H
#define __TESTHELP_H
int __failed_tests = 0;
int __test_num = 0;
#define test_cond(descr??_c) do {
__test_num++; printf("%d - %s: "?? __test_num?? descr);
if(_c) printf("PASSED ");
else {printf("FAILED "); __failed_tests++;
printf("************************ WARNING ***************************
[*failed*] We have failed tests here : %s :%d "??__FILE__?? __LINE__);
printf("are you continue[y]:");
if(tolower(getchar())=='n'){
test_report();
printf("************************************************************ ");
exit(1);}
else{
printf("************************************************************ ");
}}
} while(0);
#define test_report() do {
printf("------------------------------------------------------------ ");
printf("%d tests?? %d passed?? %d failed "?? __test_num??
__test_num-__failed_tests?? __failed_tests);
printf("------------------------------------------------------------ ");
} while(0);
#endif