lib/torture: add assert_int_{less,greater} macros
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 5 Apr 2024 01:22:11 +0000 (14:22 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 10 Apr 2024 22:56:33 +0000 (22:56 +0000)
In some situations, like comparison functions for qsort, we don't care
about the actual value, just whethger it was greater or less than
zero.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15625

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/torture/torture.h

index 2e86e3173cc56ef64a5bb84698ca7ad883b95d69..2194703d5fc8ccc9893e05593db21147c8dc312a 100644 (file)
@@ -534,6 +534,26 @@ static inline void torture_dump_data_str_cb(const char *buf, void *private_data)
        } \
        } while(0)
 
+#define torture_assert_int_less(torture_ctx,got,limit,cmt)\
+       do { int __got = (got), __limit = (limit); \
+       if (__got >= __limit) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %d (0x%X), expected < %d (0x%X): %s", \
+                       __got, __got, __limit, __limit, cmt); \
+               return false; \
+       } \
+       } while(0)
+
+#define torture_assert_int_greater(torture_ctx,got,limit,cmt)\
+       do { int __got = (got), __limit = (limit); \
+       if (__got <= __limit) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %d (0x%X), expected > %d (0x%X): %s", \
+                       __got, __got, __limit, __limit, cmt); \
+               return false; \
+       } \
+       } while(0)
+
 #define torture_assert_int_equal_goto(torture_ctx,got,expected,ret,label,cmt)\
        do { int __got = (got), __expected = (expected); \
        if (__got != __expected) { \