Files
systemd/src/test/test-ratelimit.c
T
Daan De Meyer fa34123c35 test: Clean up includes
To make sure everything still compiles, we add a preliminary include
of forward.h to tests.h to make sure it is included in every test source
file. We'll clean up the tests.h includes in a later commit.

We also add a <errno.h> include to errno-list.h to keep test-errno-list.c
compiling. It'll be removed again when we clean up includes in src/basic.

Split out of #37344.
2025-05-21 10:49:42 +02:00

43 lines
1.2 KiB
C

/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <unistd.h>
#include "ratelimit.h"
#include "tests.h"
#include "time-util.h"
TEST(ratelimit_below) {
int i;
RateLimit ratelimit = { 1 * USEC_PER_SEC, 10 };
for (i = 0; i < 10; i++)
assert_se(ratelimit_below(&ratelimit));
assert_se(!ratelimit_below(&ratelimit));
sleep(1);
for (i = 0; i < 10; i++)
assert_se(ratelimit_below(&ratelimit));
ratelimit = (const RateLimit) { 0, 10 };
for (i = 0; i < 10000; i++)
assert_se(ratelimit_below(&ratelimit));
}
TEST(ratelimit_num_dropped) {
int i;
RateLimit ratelimit = { 1 * USEC_PER_SEC, 10 };
for (i = 0; i < 10; i++) {
assert_se(ratelimit_below(&ratelimit));
assert_se(ratelimit_num_dropped(&ratelimit) == 0);
}
assert_se(!ratelimit_below(&ratelimit));
assert_se(ratelimit_num_dropped(&ratelimit) == 1);
assert_se(!ratelimit_below(&ratelimit));
assert_se(ratelimit_num_dropped(&ratelimit) == 2);
sleep(1);
assert_se(ratelimit_below(&ratelimit));
assert_se(ratelimit_num_dropped(&ratelimit) == 0);
}
DEFINE_TEST_MAIN(LOG_INFO);