Line data Source code
1 : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : 3 : #include <unistd.h> 4 : 5 : #include "macro.h" 6 : #include "ratelimit.h" 7 : #include "time-util.h" 8 : 9 1 : static void test_ratelimit_below(void) { 10 : int i; 11 1 : RATELIMIT_DEFINE(ratelimit, 1 * USEC_PER_SEC, 10); 12 : 13 11 : for (i = 0; i < 10; i++) 14 10 : assert_se(ratelimit_below(&ratelimit)); 15 1 : assert_se(!ratelimit_below(&ratelimit)); 16 1 : sleep(1); 17 11 : for (i = 0; i < 10; i++) 18 10 : assert_se(ratelimit_below(&ratelimit)); 19 : 20 1 : RATELIMIT_INIT(ratelimit, 0, 10); 21 10001 : for (i = 0; i < 10000; i++) 22 10000 : assert_se(ratelimit_below(&ratelimit)); 23 1 : } 24 : 25 1 : int main(int argc, char *argv[]) { 26 1 : test_ratelimit_below(); 27 : 28 1 : return 0; 29 : }