diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp')
-rw-r--r-- | protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp b/protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp index 61d956f4e6..a4762e25f3 100644 --- a/protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp +++ b/protocols/Telegram/tdlib/td/tdutils/test/SharedObjectPool.cpp @@ -1,10 +1,10 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2022 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include "td/utils/logging.h" +#include "td/utils/common.h" #include "td/utils/SharedObjectPool.h" #include "td/utils/tests.h" @@ -56,7 +56,16 @@ TEST(SharedPtr, simple) { ptr2 = std::move(ptr); CHECK(ptr.empty()); CHECK(*ptr2 == "hello"); +#if TD_CLANG +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wunknown-warning-option" +#pragma clang diagnostic ignored "-Wself-assign-overloaded" +#endif ptr2 = ptr2; +#if TD_CLANG +#pragma clang diagnostic pop +#endif CHECK(*ptr2 == "hello"); CHECK(!Deleter::was_delete()); ptr2.reset(); @@ -80,15 +89,15 @@ TEST(SharedObjectPool, simple) { }; { td::SharedObjectPool<Node> pool; - pool.alloc(); - pool.alloc(); - pool.alloc(); - pool.alloc(); - pool.alloc(); + { auto ptr1 = pool.alloc(); } + { auto ptr2 = pool.alloc(); } + { auto ptr3 = pool.alloc(); } + { auto ptr4 = pool.alloc(); } + { auto ptr5 = pool.alloc(); } CHECK(Node::cnt() == 0); CHECK(pool.total_size() == 1); CHECK(pool.calc_free_size() == 1); - pool.alloc(), pool.alloc(), pool.alloc(); + { auto ptr6 = pool.alloc(), ptr7 = pool.alloc(), ptr8 = pool.alloc(); } CHECK(pool.total_size() == 3); CHECK(pool.calc_free_size() == 3); } |