summaryrefslogtreecommitdiff
path: root/src/test/test-macro.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-03-14 14:48:17 +0100
committerLennart Poettering <lennart@poettering.net>2022-03-14 18:18:24 +0100
commitb068ef6b3ee42dc9bfc54f6aec7087911966022e (patch)
treed227b12dc093d4b2bd2d54d6a71851d281e06392 /src/test/test-macro.c
parent56da8d5af37bda6950f058066fa05c5fdcc20f6e (diff)
downloadsystemd-b068ef6b3ee42dc9bfc54f6aec7087911966022e.tar.gz
test: add test case for DECIMAL_STR_MAX()
Diffstat (limited to 'src/test/test-macro.c')
-rw-r--r--src/test/test-macro.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/test-macro.c b/src/test/test-macro.c
index 84b0af6870..960ff4bc09 100644
--- a/src/test/test-macro.c
+++ b/src/test/test-macro.c
@@ -410,4 +410,27 @@ TEST(DECIMAL_STR_WIDTH) {
assert_se(DECIMAL_STR_WIDTH(INT64_MIN) == STRLEN("-9223372036854775808"));
}
+TEST(DECIMAL_STR_MAX) {
+ int8_t s8_longest = INT8_MIN;
+ int16_t s16_longest = INT16_MIN;
+ int32_t s32_longest = INT32_MIN;
+ int64_t s64_longest = INT64_MIN;
+ uint8_t u8_longest = UINT8_MAX;
+ uint16_t u16_longest = UINT16_MAX;
+ uint32_t u32_longest = UINT32_MAX;
+ uint64_t u64_longest = UINT64_MAX;
+
+ /* NB: Always add +1, because DECIMAL_STR_MAX() includes space for trailing NUL byte, but
+ * DECIMAL_STR_WIDTH() does not! */
+ assert_se(DECIMAL_STR_MAX(int8_t) == DECIMAL_STR_WIDTH(s8_longest)+1);
+ assert_se(DECIMAL_STR_MAX(int16_t) == DECIMAL_STR_WIDTH(s16_longest)+1);
+ assert_se(DECIMAL_STR_MAX(int32_t) == DECIMAL_STR_WIDTH(s32_longest)+1);
+ assert_se(DECIMAL_STR_MAX(int64_t) == DECIMAL_STR_WIDTH(s64_longest)+1);
+
+ assert_se(DECIMAL_STR_MAX(uint8_t) == DECIMAL_STR_WIDTH(u8_longest)+1);
+ assert_se(DECIMAL_STR_MAX(uint16_t) == DECIMAL_STR_WIDTH(u16_longest)+1);
+ assert_se(DECIMAL_STR_MAX(uint32_t) == DECIMAL_STR_WIDTH(u32_longest)+1);
+ assert_se(DECIMAL_STR_MAX(uint64_t) == DECIMAL_STR_WIDTH(u64_longest)+1);
+}
+
DEFINE_TEST_MAIN(LOG_INFO);