diff options
Diffstat (limited to 'library/cpp/threading/equeue/equeue_ut.cpp')
| -rw-r--r-- | library/cpp/threading/equeue/equeue_ut.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/library/cpp/threading/equeue/equeue_ut.cpp b/library/cpp/threading/equeue/equeue_ut.cpp index 0b66128c73d..615d3d877d5 100644 --- a/library/cpp/threading/equeue/equeue_ut.cpp +++ b/library/cpp/threading/equeue/equeue_ut.cpp @@ -88,6 +88,25 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) { UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->ObjectCount()); UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->Size()); UNIT_ASSERT_VALUES_EQUAL(Counters.Processed.load(), enqueued); + + Counters.Reset(); + + enqueued = 0; + { + TLocalSetup setup; + TEnv<T>::Queue->SetCurrentMaxQueueSize(MaxQueueSize / 2); + + while (TEnv<T>::Queue->Add(&job) && enqueued < MaxQueueSize + 100) { + ++enqueued; + } + + UNIT_ASSERT_VALUES_EQUAL(enqueued, MaxQueueSize / 2); + UNIT_ASSERT_VALUES_EQUAL(enqueued, TEnv<T>::Queue->ObjectCount()); + } + + UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->ObjectCount()); + UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->Size()); + UNIT_ASSERT_VALUES_EQUAL(Counters.Processed.load(), enqueued); } Y_UNIT_TEST(FillTest) { |
