summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-10-30 11:32:21 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-10-30 11:32:21 -0400
commit53e8fb196c7629ead6845b5c04875134732147eb (patch)
treeaf798f330740973589ca8612ca9766ef7077dff2
parente387f12f34777bbcdce211024ef871c3e9243989 (diff)
pktst: add more asserts
-rw-r--r--pktst.h92
1 files changed, 80 insertions, 12 deletions
diff --git a/pktst.h b/pktst.h
index 7d04c5b..0772903 100644
--- a/pktst.h
+++ b/pktst.h
@@ -32,11 +32,11 @@ void pk_test_run_test_groups(pk_test_group_get **group_get_fns, unsigned long n_
#if defined(__cplusplus)
#include <iostream>
-#define PK_TEST_ASSERT_BODY(expected, value) \
+#define PK_TEST_ASSERT_BODY(expected, value, comp) \
std::cerr << "[pk-test] "; \
std::cerr << "(" << __FILE__ << ":" << __LINE__ << ")"; \
- std::cerr << PK_CLR_FG_RED " Failed. " PK_CLR_RESET; \
- std::cerr << "Condition: \""; \
+ std::cerr << PK_CLR_FG_RED " Failed " PK_CLR_RESET; \
+ std::cerr << #comp " , Condition: \""; \
std::cerr << PK_CLR_FG_BRIGHT_BLUE << #value << PK_CLR_RESET; \
std::cerr << "\", Expected: \""; \
std::cerr << PK_CLR_FG_GREEN << (expected) << PK_CLR_RESET; \
@@ -49,44 +49,112 @@ inline bool flt_equal(T a, T b, T epsilon) {
}
#else /* __cplusplus */
#include <stdio.h>
-#define PK_TEST_ASSERT_BODY(expected, value) \
+#define PK_TEST_ASSERT_BODY(expected, value, comp) \
fprintf(stderr,"[pk-test] (%s:%i) ", __FILE__, __LINE__); \
- fprintf(stderr,"%s ", PK_CLR_FG_RED "Failed. " PK_CLR_RESET); \
- fprintf(stderr,"Test condition \""); \
+ fprintf(stderr,"%s ", PK_CLR_FG_RED "Failed" PK_CLR_RESET); \
+ fprintf(stderr,#comp " : Test condition \""); \
fprintf(stderr,"%s\"\n",PK_CLR_FG_BRIGHT_BLUE #value PK_CLR_RESET);
#endif /* __cplusplus */
#define PK_TEST_ASSERT_EQ(expected, value) { \
if ((value) != (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, ==) \
} \
}
#define PK_TEST_ASSERT_EQ_RET(expected, value) { \
if ((value) != (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, ==) \
return -1; \
} \
}
#define PK_TEST_ASSERT_EQ_EXIT(expected, value) { \
if ((value) != (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, ==) \
exit(1); \
} \
}
#define PK_TEST_ASSERT_NEQ(expected, value) { \
if ((value) == (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, !=) \
} \
}
#define PK_TEST_ASSERT_NEQ_RET(expected, value) { \
if ((value) == (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, !=) \
return -1; \
} \
}
#define PK_TEST_ASSERT_NEQ_EXIT(expected, value) { \
if ((value) == (expected)) { \
- PK_TEST_ASSERT_BODY(expected, value) \
+ PK_TEST_ASSERT_BODY(expected, value, !=) \
+ exit(1); \
+ } \
+}
+#define PK_TEST_ASSERT_GT(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >) \
+ } \
+}
+#define PK_TEST_ASSERT_GT_RET(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >) \
+ return -1; \
+ } \
+}
+#define PK_TEST_ASSERT_GT_EXIT(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >) \
+ exit(1); \
+ } \
+}
+#define PK_TEST_ASSERT_LT(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <) \
+ } \
+}
+#define PK_TEST_ASSERT_LT_RET(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <) \
+ return -1; \
+ } \
+}
+#define PK_TEST_ASSERT_LT_EXIT(expected, value) { \
+ if ((value) > (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <) \
+ exit(1); \
+ } \
+}
+#define PK_TEST_ASSERT_GTE(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >=) \
+ } \
+}
+#define PK_TEST_ASSERT_GTE_RET(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >=) \
+ return -1; \
+ } \
+}
+#define PK_TEST_ASSERT_GTE_EXIT(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, >=) \
+ exit(1); \
+ } \
+}
+#define PK_TEST_ASSERT_LTE(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <=) \
+ } \
+}
+#define PK_TEST_ASSERT_LTE_RET(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <=) \
+ return -1; \
+ } \
+}
+#define PK_TEST_ASSERT_LTE_EXIT(expected, value) { \
+ if ((value) >= (expected)) { \
+ PK_TEST_ASSERT_BODY(expected, value, <=) \
exit(1); \
} \
}