| 26 | }; |
| 27 | |
| 28 | TEST_F(ObjectPoolTest, pop_wait_push) { |
| 29 | ::std::thread([&] { |
| 30 | { |
| 31 | auto ptr = pool.pop(); |
| 32 | ASSERT_EQ("10086", *ptr); |
| 33 | } |
| 34 | p.set_value(); |
| 35 | }).detach(); |
| 36 | ASSERT_EQ(::std::future_status::timeout, |
| 37 | f.wait_for(::std::chrono::milliseconds(100))); |
| 38 | pool.push(::std::unique_ptr<::std::string>(new ::std::string {"10086"})); |
| 39 | f.get(); |
| 40 | } |
| 41 | |
| 42 | TEST_F(ObjectPoolTest, push_wait_pop) { |
| 43 | ::std::thread([&] { |