2020-11-09 05:23:58 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2014-06-23 21:28:22 +02:00
|
|
|
|
|
|
|
#include <unistd.h>
|
|
|
|
|
2015-11-16 22:09:36 +01:00
|
|
|
#include "macro.h"
|
2014-06-23 21:28:22 +02:00
|
|
|
#include "ratelimit.h"
|
|
|
|
#include "time-util.h"
|
|
|
|
|
2018-05-11 11:16:52 +02:00
|
|
|
static void test_ratelimit_below(void) {
|
2014-06-23 21:28:22 +02:00
|
|
|
int i;
|
2019-09-19 17:41:20 +02:00
|
|
|
RateLimit ratelimit = { 1 * USEC_PER_SEC, 10 };
|
2014-06-23 21:28:22 +02:00
|
|
|
|
2015-09-09 14:23:02 +02:00
|
|
|
for (i = 0; i < 10; i++)
|
2018-05-11 11:16:52 +02:00
|
|
|
assert_se(ratelimit_below(&ratelimit));
|
|
|
|
assert_se(!ratelimit_below(&ratelimit));
|
2014-06-23 21:28:22 +02:00
|
|
|
sleep(1);
|
2015-09-09 14:23:02 +02:00
|
|
|
for (i = 0; i < 10; i++)
|
2018-05-11 11:16:52 +02:00
|
|
|
assert_se(ratelimit_below(&ratelimit));
|
2014-06-23 21:28:22 +02:00
|
|
|
|
2019-09-19 17:41:20 +02:00
|
|
|
ratelimit = (RateLimit) { 0, 10 };
|
2015-09-09 14:23:02 +02:00
|
|
|
for (i = 0; i < 10000; i++)
|
2018-05-11 11:16:52 +02:00
|
|
|
assert_se(ratelimit_below(&ratelimit));
|
2014-06-23 21:28:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
2018-05-11 11:16:52 +02:00
|
|
|
test_ratelimit_below();
|
2014-06-23 21:28:22 +02:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|