MCPcopy Create free account
hub / github.com/3rdparty/libprocess / TEST

Function TEST

src/tests/limiter_tests.cpp:30–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28
29
30TEST(LimiterTest, Acquire)
31{
32 int permits = 2;
33 Duration duration = Milliseconds(5);
34
35 RateLimiter limiter(permits, duration);
36 Milliseconds interval = duration / permits;
37
38 Clock::pause();
39
40 Future<Nothing> acquire1 = limiter.acquire();
41 Future<Nothing> acquire2 = limiter.acquire();
42 Future<Nothing> acquire3 = limiter.acquire();
43
44 AWAIT_READY(acquire1);
45
46 Clock::advance(interval);
47 AWAIT_READY(acquire2);
48 EXPECT_TRUE(acquire3.isPending());
49
50 Clock::advance(interval);
51 AWAIT_READY(acquire3);
52}
53
54
55// In this test 4 permits are given, but the 2nd permit's acquire

Callers

nothing calls this directly

Calls 3

isPendingMethod · 0.80
acquireMethod · 0.45
discardMethod · 0.45

Tested by

no test coverage detected