summaryrefslogtreecommitdiff
path: root/src/test/test-macro.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-12 16:29:48 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-12 17:15:51 +0200
commit8b0c43475a764080299f1d69efc2cef0db7b6c66 (patch)
tree01ecef3b89b90a541641a1aeca638f1c539893ad /src/test/test-macro.c
parentd1b8e56a62c62ffa78ec299fcdcad04a6c735a6a (diff)
downloadsystemd-8b0c43475a764080299f1d69efc2cef0db7b6c66.tar.gz
Add saturate_add() that generalizes size_add()
Diffstat (limited to 'src/test/test-macro.c')
-rw-r--r--src/test/test-macro.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test/test-macro.c b/src/test/test-macro.c
index ba319953cd..c39f64b385 100644
--- a/src/test/test-macro.c
+++ b/src/test/test-macro.c
@@ -6,6 +6,15 @@
#include "macro.h"
#include "tests.h"
+TEST(saturate_add) {
+ assert_se(saturate_add(1, 2, UINT8_MAX) == 3);
+ assert_se(saturate_add(1, UINT8_MAX-2, UINT8_MAX) == UINT8_MAX-1);
+ assert_se(saturate_add(1, UINT8_MAX-1, UINT8_MAX) == UINT8_MAX);
+ assert_se(saturate_add(1, UINT8_MAX, UINT8_MAX) == UINT8_MAX);
+ assert_se(saturate_add(2, UINT8_MAX, UINT8_MAX) == UINT8_MAX);
+ assert_se(saturate_add(60, 60, 50) == 50);
+}
+
TEST(align_power2) {
unsigned long i, p2;