diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-30 11:32:21 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-30 11:32:21 -0400 |
| commit | 53e8fb196c7629ead6845b5c04875134732147eb (patch) | |
| tree | af798f330740973589ca8612ca9766ef7077dff2 | |
| parent | e387f12f34777bbcdce211024ef871c3e9243989 (diff) | |
pktst: add more asserts
| -rw-r--r-- | pktst.h | 92 |
1 files changed, 80 insertions, 12 deletions
@@ -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); \ } \ } |
