diff --git a/tests/unit/unit.c b/tests/unit/unit.c index 81b2e93975f..3dd2e7de5d5 100644 --- a/tests/unit/unit.c +++ b/tests/unit/unit.c @@ -24,6 +24,7 @@ #include #include "munit.h" +#include "unit.h" /* * SET_ERROR() expands to __set_error() in debug builds. It's an @@ -83,3 +84,22 @@ cmn_err(int ce, const char *fmt, ...) break; } } + +/* helpers to generate useful random data */ +uint64_t +unit_rand_uint64(void) +{ + uint64_t v = + (((uint64_t)munit_rand_uint32()) << 32) | + ((uint64_t)munit_rand_uint32()); + return (v); +} + +char * +unit_rand_str(char *buf, size_t bufsz) +{ + for (int i = 0; i < bufsz-1; i++) + buf[i] = munit_rand_int_range('a', 'z'); + buf[bufsz-1] = '\0'; + return (buf); +} diff --git a/tests/unit/unit.h b/tests/unit/unit.h index 6b655082092..a8c23da4118 100644 --- a/tests/unit/unit.h +++ b/tests/unit/unit.h @@ -57,4 +57,8 @@ #define unit_ok(a) munit_assert_int((a), ==, 0) #define unit_err(a, e) munit_assert_int((a), ==, (e)) +/* helpers to generate useful random data */ +extern uint64_t unit_rand_uint64(void); +extern char *unit_rand_str(char *buf, size_t bufsz); + #endif /* UNIT_H */