@@ -170,34 +170,42 @@ const char *cl_fixture_basename(const char *fixture_name);
170170#define cl_assert_equal_wcsn (wcs1 ,wcs2 ,len ) clar__assert_equal(CLAR_CURRENT_FILE,CLAR_CURRENT_FUNC,CLAR_CURRENT_LINE,"String mismatch: " #wcs1 " != " #wcs2, 1, "%.*ls", (wcs1), (wcs2), (int)(len))
171171#define cl_assert_equal_wcsn_ (wcs1 ,wcs2 ,len ,note ) clar__assert_equal(CLAR_CURRENT_FILE,CLAR_CURRENT_FUNC,CLAR_CURRENT_LINE,"String mismatch: " #wcs1 " != " #wcs2 " (" #note ")", 1, "%.*ls", (wcs1), (wcs2), (int)(len))
172172
173- /* The following three macros are essentially deprecated now in favor of the macros in subsequent blocks. */
174- #define cl_assert_equal_i (i1 ,i2 ) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_EQ,#i1 " != " #i2,"%"PRIdMAX " != %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
175- #define cl_assert_equal_i_ (i1 ,i2 ,note ) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_EQ,#i1 " != " #i2 " (" #note ")","%"PRIdMAX " != %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
176- #define cl_assert_equal_i_fmt (i1 ,i2 ,fmt ) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_EQ,#i1 " != " #i2, fmt " != " fmt, (int)(i1), (int)(i2))
177-
178- #define cl_assert_compare_i (i1 ,i2 ,cmp ,error ,description ,...) clar__assert_compare_i(CLAR_CURRENT_FILE,CLAR_CURRENT_FUNC,CLAR_CURRENT_LINE,1,cmp,(i1),(i2),error,description,__VA_ARGS__)
179- #define cl_assert_eq_i_ (i1 ,i2 ,description ,...) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_EQ,"Expected comparison to hold: " #i1 " == " #i2,description,__VA_ARGS__)
180- #define cl_assert_eq_i (i1 ,i2 ) cl_assert_eq_i_(i1,i2,"%"PRIdMAX " != %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
181- #define cl_assert_lt_i_ (i1 ,i2 ,description ,...) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_LT,"Expected comparison to hold: " #i1 " < " #i2,description,__VA_ARGS__)
182- #define cl_assert_lt_i (i1 ,i2 ) cl_assert_lt_i_(i1,i2,"%"PRIdMAX " >= %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
183- #define cl_assert_le_i_ (i1 ,i2 ,description ,...) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_LE,"Expected comparison to hold: " #i1 " <= " #i2,description,__VA_ARGS__)
184- #define cl_assert_le_i (i1 ,i2 ) cl_assert_le_i_(i1,i2,"%"PRIdMAX " > %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
185- #define cl_assert_gt_i_ (i1 ,i2 ,description ,...) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_GT,"Expected comparison to hold: " #i1 " > " #i2,description,__VA_ARGS__)
186- #define cl_assert_gt_i (i1 ,i2 ) cl_assert_gt_i_(i1,i2,"%"PRIdMAX " <= %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
187- #define cl_assert_ge_i_ (i1 ,i2 ,description ,...) cl_assert_compare_i(i1,i2,CLAR_COMPARISON_GE,"Expected comparison to hold: " #i1 " >= " #i2,description,__VA_ARGS__)
188- #define cl_assert_ge_i (i1 ,i2 ) cl_assert_ge_i_(i1,i2,"%"PRIdMAX " < %"PRIdMAX,(intmax_t)(i1),(intmax_t)(i2))
189-
190- #define cl_assert_compare_u (u1 ,u2 ,cmp ,error ,description ,...) clar__assert_compare_u(CLAR_CURRENT_FILE,CLAR_CURRENT_FUNC,CLAR_CURRENT_LINE,1,cmp,(u1),(u2),error,description,__VA_ARGS__)
191- #define cl_assert_eq_u_ (u1 ,u2 ,description ,...) cl_assert_compare_u(u1,u2,CLAR_COMPARISON_EQ,"Expected comparison to hold: " #u1 " == " #u2,description,__VA_ARGS__)
192- #define cl_assert_eq_u (u1 ,u2 ) cl_assert_eq_u_(u1,u2,"%"PRIuMAX " != %"PRIuMAX,(uintmax_t)(u1),(uintmax_t)(u2))
193- #define cl_assert_lt_u_ (u1 ,u2 ,description ,...) cl_assert_compare_u(u1,u2,CLAR_COMPARISON_LT,"Expected comparison to hold: " #u1 " < " #u2,description,__VA_ARGS__)
194- #define cl_assert_lt_u (u1 ,u2 ) cl_assert_lt_u_(u1,u2,"%"PRIuMAX " >= %"PRIuMAX,(uintmax_t)(u1),(uintmax_t)(u2))
195- #define cl_assert_le_u_ (u1 ,u2 ,description ,...) cl_assert_compare_u(u1,u2,CLAR_COMPARISON_LE,"Expected comparison to hold: " #u1 " <= " #u2,description,__VA_ARGS__)
196- #define cl_assert_le_u (u1 ,u2 ) cl_assert_le_u_(u1,u2,"%"PRIuMAX " > %"PRIuMAX,(uintmax_t)(u1),(uintmax_t)(u2))
197- #define cl_assert_gt_u_ (u1 ,u2 ,description ,...) cl_assert_compare_u(u1,u2,CLAR_COMPARISON_GT,"Expected comparison to hold: " #u1 " > " #u2,description,__VA_ARGS__)
198- #define cl_assert_gt_u (u1 ,u2 ) cl_assert_gt_u_(u1,u2,"%"PRIuMAX " <= %"PRIuMAX,(uintmax_t)(u1),(uintmax_t)(u2))
199- #define cl_assert_ge_u_ (u1 ,u2 ,description ,...) cl_assert_compare_u(u1,u2,CLAR_COMPARISON_GE,"Expected comparison to hold: " #u1 " >= " #u2,description,__VA_ARGS__)
200- #define cl_assert_ge_u (u1 ,u2 ) cl_assert_ge_u_(u1,u2,"%"PRIuMAX " < %"PRIuMAX,(uintmax_t)(u1),(uintmax_t)(u2))
173+ #define cl_assert_compare_i_ (i1 , i2 , cmp , error , ...) clar__assert_compare_i(CLAR_CURRENT_FILE, CLAR_CURRENT_FUNC, CLAR_CURRENT_LINE, 1, cmp, \
174+ (i1), (i2), "Expected comparison to hold: " error, __VA_ARGS__)
175+ #define cl_assert_compare_i (i1 , i2 , cmp , error , fmt ) do { \
176+ intmax_t v1 = (i1), v2 = (i2); \
177+ clar__assert_compare_i(CLAR_CURRENT_FILE, CLAR_CURRENT_FUNC, CLAR_CURRENT_LINE, 1, cmp, \
178+ v1, v2, "Expected comparison to hold: " error, fmt, v1, v2); \
179+ } while (0)
180+ #define cl_assert_equal_i_ (i1 , i2 , ...) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_EQ, #i1 " == " #i2, __VA_ARGS__)
181+ #define cl_assert_equal_i (i1 , i2 ) cl_assert_compare_i (i1, i2, CLAR_COMPARISON_EQ, #i1 " == " #i2, "%"PRIdMAX " != %"PRIdMAX)
182+ #define cl_assert_equal_i_fmt (i1 , i2 , fmt ) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_EQ, #i1 " == " #i2, fmt " != " fmt, (int)(i1), (int)(i2))
183+ #define cl_assert_lt_i_ (i1 , i2 , ...) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_LT, #i1 " < " #i2, __VA_ARGS__)
184+ #define cl_assert_lt_i (i1 , i2 ) cl_assert_compare_i (i1, i2, CLAR_COMPARISON_LT, #i1 " < " #i2, "%"PRIdMAX " >= %"PRIdMAX)
185+ #define cl_assert_le_i_ (i1 , i2 , ...) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_LE, #i1 " <= " #i2, __VA_ARGS__)
186+ #define cl_assert_le_i (i1 , i2 ) cl_assert_compare_i (i1, i2, CLAR_COMPARISON_LE, #i1 " <= " #i2, "%"PRIdMAX " > %"PRIdMAX)
187+ #define cl_assert_gt_i_ (i1 , i2 , ...) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_GT, #i1 " > " #i2, __VA_ARGS__)
188+ #define cl_assert_gt_i (i1 , i2 ) cl_assert_compare_i (i1, i2, CLAR_COMPARISON_GT, #i1 " > " #i2, "%"PRIdMAX " <= %"PRIdMAX)
189+ #define cl_assert_ge_i_ (i1 , i2 , ...) cl_assert_compare_i_(i1, i2, CLAR_COMPARISON_GE, #i1 " >= " #i2, __VA_ARGS__)
190+ #define cl_assert_ge_i (i1 , i2 ) cl_assert_compare_i (i1, i2, CLAR_COMPARISON_GE, #i1 " >= " #i2, "%"PRIdMAX " < %"PRIdMAX)
191+
192+ #define cl_assert_compare_u_ (u1 , u2 , cmp , error , ...) clar__assert_compare_u(CLAR_CURRENT_FILE, CLAR_CURRENT_FUNC, CLAR_CURRENT_LINE, 1, cmp, \
193+ (u1), (u2), "Expected comparison to hold: " error, __VA_ARGS__)
194+ #define cl_assert_compare_u (u1 , u2 , cmp , error , fmt ) do { \
195+ uintmax_t v1 = (u1), v2 = (u2); \
196+ clar__assert_compare_u(CLAR_CURRENT_FILE, CLAR_CURRENT_FUNC, CLAR_CURRENT_LINE, 1, cmp, \
197+ v1, v2, "Expected comparison to hold: " error, fmt, v1, v2); \
198+ } while (0)
199+ #define cl_assert_equal_u_ (u1 , u2 , ...) cl_assert_compare_u_(u1, u2, CLAR_COMPARISON_EQ, #u1 " == " #u2, __VA_ARGS__)
200+ #define cl_assert_equal_u (u1 , u2 ) cl_assert_compare_u (u1, u2, CLAR_COMPARISON_EQ, #u1 " == " #u2, "%"PRIuMAX " != %"PRIuMAX)
201+ #define cl_assert_lt_u_ (u1 , u2 , ...) cl_assert_compare_u_(u1, u2, CLAR_COMPARISON_LT, #u1 " < " #u2, __VA_ARGS__)
202+ #define cl_assert_lt_u (u1 , u2 ) cl_assert_compare_u (u1, u2, CLAR_COMPARISON_LT, #u1 " < " #u2, "%"PRIuMAX " >= %"PRIuMAX)
203+ #define cl_assert_le_u_ (u1 , u2 , ...) cl_assert_compare_u_(u1, u2, CLAR_COMPARISON_LE, #u1 " <= " #u2, __VA_ARGS__)
204+ #define cl_assert_le_u (u1 , u2 ) cl_assert_compare_u (u1, u2, CLAR_COMPARISON_LE, #u1 " <= " #u2, "%"PRIuMAX " > %"PRIuMAX)
205+ #define cl_assert_gt_u_ (u1 , u2 , ...) cl_assert_compare_u_(u1, u2, CLAR_COMPARISON_GT, #u1 " > " #u2, __VA_ARGS__)
206+ #define cl_assert_gt_u (u1 , u2 ) cl_assert_compare_u (u1, u2, CLAR_COMPARISON_GT, #u1 " > " #u2, "%"PRIuMAX " <= %"PRIuMAX)
207+ #define cl_assert_ge_u_ (u1 , u2 , ...) cl_assert_compare_u_(u1, u2, CLAR_COMPARISON_GE, #u1 " >= " #u2, __VA_ARGS__)
208+ #define cl_assert_ge_u (u1 , u2 ) cl_assert_compare_u (u1, u2, CLAR_COMPARISON_GE, #u1 " >= " #u2, "%"PRIuMAX " < %"PRIuMAX)
201209
202210#define cl_assert_equal_b (b1 ,b2 ) clar__assert_equal(CLAR_CURRENT_FILE,CLAR_CURRENT_FUNC,CLAR_CURRENT_LINE,#b1 " != " #b2, 1, "%d", (int)((b1) != 0),(int)((b2) != 0))
203211
0 commit comments