From c3df69d011639ba7cf71eb1b5875e1e22e9752eb Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Wed, 4 May 2022 22:16:01 +0200 Subject: [PATCH] Add tests for generic API + macros --- tests/test-mcore.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/test-mcore.c b/tests/test-mcore.c index 01a99b29..3d1045fe 100644 --- a/tests/test-mcore.c +++ b/tests/test-mcore.c @@ -826,6 +826,9 @@ static int cmp2(int *a, int *b) return *a < *b ? -1 : *a > *b; } +#define cmp3(a, b) \ + (a < b ? -1 : a > b) + static void test_generic_api(void) { assert( M_HEAD(17, 0) == 17); @@ -837,6 +840,7 @@ static void test_generic_api(void) #define GO2 (INIT(API( init3, NONE, ARGPTR2, 0, ARG1 ))) #define GO3 (EQUAL(API( cmp2, EQ(0), ARGPTR1, ARGPTR2 ))) #define GO4 (EQUAL(API( cmp1, EQ(0), ARG1, ARG2 ))) +#define GO5 (EQUAL(API( cmp3, EQ(0), ARG1, ARG2 ))) int x = 0, y = 0; M_CALL_INIT(GO1, x, y); @@ -854,6 +858,13 @@ static void test_generic_api(void) x = 77; b = M_CALL_EQUAL(GO4, x, y); assert(!b); + + x = y = 78; + b = M_CALL_EQUAL(GO5, x, y); + assert(b); + x = 77; + b = M_CALL_EQUAL(GO5, x, y); + assert(!b); } int main(void)