From 05b68f5a660af28886d303ec0e0e4ff576bb7000 Mon Sep 17 00:00:00 2001 From: Petr Penzin Date: Tue, 3 Jan 2023 23:03:20 -0800 Subject: [PATCH] Implement CuAssertPtrNotEquals --- CuTest.c | 9 +++++++++ CuTest.h | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/CuTest.c b/CuTest.c index 4b14ce9..ad968a2 100644 --- a/CuTest.c +++ b/CuTest.c @@ -236,6 +236,15 @@ void CuAssertPtrEquals_LineMsg(CuTest* tc, const char* file, int line, const cha CuFail_Line(tc, file, line, message, buf); } +void CuAssertPtrNotEquals_LineMsg(CuTest* tc, const char* file, int line, const char* message, + void* reject, void* actual) +{ + char buf[STRING_MAX]; + if (reject != actual) return; + sprintf(buf, "expected pointer different from <0x%p>", actual); + CuFail_Line(tc, file, line, message, buf); +} + /*-------------------------------------------------------------------------* * CuSuite diff --git a/CuTest.h b/CuTest.h index 1ffb0f8..7788b86 100644 --- a/CuTest.h +++ b/CuTest.h @@ -71,6 +71,9 @@ void CuAssertDblEquals_LineMsg(CuTest* tc, void CuAssertPtrEquals_LineMsg(CuTest* tc, const char* file, int line, const char* message, void* expected, void* actual); +void CuAssertPtrNotEquals_LineMsg(CuTest* tc, + const char* file, int line, const char* message, + void* reject, void* actual); /* public assert functions */ @@ -86,6 +89,8 @@ void CuAssertPtrEquals_LineMsg(CuTest* tc, #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_Msg(tc,ms,ex,ac) CuAssertPtrEquals_LineMsg((tc),__FILE__,__LINE__,(ms),(ex),(ac)) +#define CuAssertPtrNotEquals(tc,rj,ac) CuAssertPtrNotEquals_LineMsg((tc),__FILE__,__LINE__,NULL,(rj),(ac)) +#define CuAssertPtrNotEquals_Msg(tc,ms,rj,ac) CuAssertPtrNotEquals_LineMsg((tc),__FILE__,__LINE__,(ms),(rj),(ac)) #define CuAssertPtrNotNull(tc,p) CuAssert_Line((tc),__FILE__,__LINE__,"null pointer unexpected",((p) != NULL)) #define CuAssertPtrNotNullMsg(tc,msg,p) CuAssert_Line((tc),__FILE__,__LINE__,(msg),((p) != NULL))