15 #include <gtest/gtest.h>
20 #include "../test/test_util.h"
22 #if defined(OPENSSL_THREADS)
29 static const uint8_t kData[4] = {1, 2, 3, 4};
30 bssl::UniquePtr<CRYPTO_BUFFER>
buf(
38 bssl::UniquePtr<CRYPTO_BUFFER>
buf2 = bssl::UpRef(
buf);
40 bssl::UniquePtr<CRYPTO_BUFFER> buf_static(
47 bssl::UniquePtr<CRYPTO_BUFFER> buf_static2 = bssl::UpRef(buf_static);
57 bssl::UniquePtr<CRYPTO_BUFFER> buf_static(
70 bssl::UniquePtr<CRYPTO_BUFFER>
buf(
76 bssl::UniquePtr<CRYPTO_BUFFER>
buf2(
82 EXPECT_EQ(
buf.get(),
buf2.get()) <<
"CRYPTO_BUFFER_POOL did not dedup data.";
86 bssl::UniquePtr<CRYPTO_BUFFER> buf3(
105 bssl::UniquePtr<CRYPTO_BUFFER> buf4(
123 bssl::UniquePtr<CRYPTO_BUFFER> buf7(
128 #if defined(OPENSSL_THREADS)
129 TEST(PoolTest, Threads) {
134 static const uint8_t kData[4] = {1, 2, 3, 4};
136 bssl::UniquePtr<CRYPTO_BUFFER>
buf,
buf2, buf3;
152 EXPECT_EQ(
buf.get(),
buf2.get()) <<
"CRYPTO_BUFFER_POOL did not dedup data.";
154 <<
"CRYPTO_BUFFER_POOL incorrectly deduped data.";
163 bssl::UniquePtr<CRYPTO_BUFFER> buf_ref;
179 std::this_thread::sleep_for(std::chrono::milliseconds(1));
193 std::this_thread::sleep_for(std::chrono::milliseconds(1));