summaryrefslogtreecommitdiffstats
path: root/library/cpp/threading/equeue/equeue_ut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/cpp/threading/equeue/equeue_ut.cpp')
-rw-r--r--library/cpp/threading/equeue/equeue_ut.cpp19
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) {