/
githubmirror
/
dbus-broker
Обзор
Документация
Войти
/
githubmirror
/
dbus-broker
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v21
src/util/test-misc.c
41 строка
1 KB
David Rheinsberg
dbus-broker: switch test infrastructure to c_assert()
10 апр 2019, 13:23
10 апр 2019, 13:23
47562f3
Код
Авторство
О чём код?
/* * Test miscellaneous helpers */ #undef NDEBUG #include <c-stdaux.h> #include <stdlib.h> #include "util/misc.h" static void test_umul_saturating(void) { static const struct { uint64_t input_a; uint64_t input_b; uint64_t output; } values[] = { { 0, 0, 0 }, { 0, 1, 0 }, { 1, 0, 0 }, { 1, 1, 1 }, { UINT32_MAX, UINT32_MAX, UINT64_MAX - UINT64_C(2) * UINT32_MAX }, { UINT32_MAX, UINT32_MAX + UINT64_C(1), UINT64_MAX - UINT32_MAX }, { UINT32_MAX + UINT64_C(1), UINT32_MAX + UINT64_C(1), UINT64_MAX }, { 1, UINT64_MAX - 1, UINT64_MAX - 1 }, { UINT64_MAX - 1, 1, UINT64_MAX - 1 }, { UINT64_MAX - 1, 2, UINT64_MAX }, }; uint64_t output; size_t i; for (i = 0; i < C_ARRAY_SIZE(values); ++i) { output = util_umul64_saturating(values[i].input_a, values[i].input_b); c_assert(output == values[i].output); } } int main(int argc, char **argv) { test_umul_saturating(); return 0; }