#ifndef STUDY_ASSERTMY_H
#define STUDY_ASSERTMY_H
#include <stdio.h>
#include <windows.h>
//设置字体颜色 (只是在windward下有效)
#define color(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x)
#define assertErrorMessageTest(_Expression,errorMessage) \
do \
{
\
if((_Expression)){
\
color(2) ;\
printf("==============================: method:%s ---> (%s)Assertion success\n ",__func__,#_Expression); \
} ; \
color(7);\
if(!(_Expression)){
\
color(4) ;\
printf("==============================: (%s)\n Assertion failed: (%s), file:%s \nmethod:%s , line %d \n", errorMessage, #_Expression, __FILE__,__func__ , __LINE__) ; \
exit(0); \
color(7); \
} ; \
} while(0)
#define assertMessageMoreTest(_Expression,correctMessage, errorMessage) \
do \
{
\
if((_Expression)){
\
color(2) ;\
printf("==============================: (%s)\n Assertion success: (%s) , method:%s \n ",correctMessage,__func__,#_Expression); \
} ; \
color(7);\
if(!(_Expression)){
\
color(4) ;\
printf("==============================: (%s)\n Assertion failed: (%s), file:%s \nmethod:%s , line %d \n", errorMessage, #_Expression, __FILE__,__func__ , __LINE__) ; \
exit(0); \
color(7); \
} ; \
} while(0)
#define assertTest(_Expression) \
do \
{
\
if(!(_Expression)){
\
color(4) ;\
printf("Assertion failed: (%s), file:%s \nmethod:%s , line %d \n", #_Expression, __FILE__,__func__ , __LINE__) ; \
exit(0); \
color(7); \
} ; \
} while(0)
#define assertError(errorMessage) \
do \
{
\
color(4) ;\
printf("Assertion failed: (%s), file:%s \nmethod:%s , line %d \n", errorMessage, __FILE__,__func__ , __LINE__) ; \
exit(0); \
color(7); \
} while(0)
#endif //STUDY_ASSERTMY_H
c语言-手写断言工具
猜你喜欢
转载自blog.csdn.net/weixin_45203607/article/details/126888523
今日推荐
周排行