diff options
Diffstat (limited to 'src/tests/util-tests.c')
-rw-r--r-- | src/tests/util-tests.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c index d8d3800f..d05e6837 100644 --- a/src/tests/util-tests.c +++ b/src/tests/util-tests.c @@ -175,6 +175,20 @@ START_TEST(test_diff_string_lists) } END_TEST +START_TEST(test_size_t_overflow) +{ + fail_unless(!SIZE_T_OVERFLOW(1, 1), "unexpected overflow"); + fail_unless(!SIZE_T_OVERFLOW(SIZE_T_MAX, 0), "unexpected overflow"); + fail_unless(!SIZE_T_OVERFLOW(SIZE_T_MAX-10, 10), "unexpected overflow"); + fail_unless(SIZE_T_OVERFLOW(SIZE_T_MAX, 1), "overflow not detected"); + fail_unless(SIZE_T_OVERFLOW(SIZE_T_MAX, SIZE_T_MAX), + "overflow not detected"); + fail_unless(SIZE_T_OVERFLOW(SIZE_T_MAX, ULLONG_MAX), + "overflow not detected"); + fail_unless(SIZE_T_OVERFLOW(SIZE_T_MAX, -10), "overflow not detected"); +} +END_TEST + Suite *util_suite(void) { Suite *s = suite_create("util"); @@ -182,6 +196,7 @@ Suite *util_suite(void) TCase *tc_util = tcase_create("util"); tcase_add_test (tc_util, test_diff_string_lists); + tcase_add_test (tc_util, test_size_t_overflow); tcase_set_timeout(tc_util, 60); suite_add_tcase (s, tc_util); |