diff --git a/CuTest.c b/CuTest.c index f075cfb..602a814 100644 --- a/CuTest.c +++ b/CuTest.c @@ -231,6 +231,14 @@ void CuAssertPtrEquals_LineMsg(CuTest* tc, const char* file, int line, const cha CuFail_Line(tc, file, line, message, buf); } +void CuAssertPtrEqualsNull_LineMsg(CuTest* tc, const char* file, int line, const char* message, + void* actual) +{ + char buf[STRING_MAX]; + if (expected == NULL) return; + sprintf(buf, "expected NULL pointer but was <0x%p>", actual); + CuFail_Line(tc, file, line, message, buf); +} /*-------------------------------------------------------------------------* * CuSuite diff --git a/CuTest.h b/CuTest.h index 603dc18..93691d1 100644 --- a/CuTest.h +++ b/CuTest.h @@ -68,6 +68,9 @@ void CuAssertDblEquals_LineMsg(CuTest* tc, void CuAssertPtrEquals_LineMsg(CuTest* tc, const char* file, int line, const char* message, void* expected, void* actual); +void CuAssertPtrEquals_LineMsg(CuTest* tc, + const char* file, int line, const char* message, + void* actual); /* public assert functions */ @@ -82,6 +85,7 @@ void CuAssertPtrEquals_LineMsg(CuTest* tc, #define CuAssertDblEquals(tc,ex,ac,dl) CuAssertDblEquals_LineMsg((tc),__FILE__,__LINE__,NULL,(ex),(ac),(dl)) #define CuAssertDblEquals_Msg(tc,ms,ex,ac,dl) CuAssertDblEquals_LineMsg((tc),__FILE__,__LINE__,(ms),(ex),(ac),(dl)) #define CuAssertPtrEquals(tc,ex,ac) CuAssertPtrEquals_LineMsg((tc),__FILE__,__LINE__,NULL,(ex),(ac)) +#define CuAssertPtrEquals(tc,ac) CuAssertPtrEquals_LineMsg((tc),__FILE__,__LINE__,NULL,(ac)) #define CuAssertPtrEquals_Msg(tc,ms,ex,ac) CuAssertPtrEquals_LineMsg((tc),__FILE__,__LINE__,(ms),(ex),(ac)) #define CuAssertPtrNotNull(tc,p) CuAssert_Line((tc),__FILE__,__LINE__,"null pointer unexpected",(p != NULL))