Commit d062165a authored by Helen Li's avatar Helen Li Committed by Commit Bot

Use base::BindLambdaForTesting in two test files

Use capturing lambda to make test logic more concise.

Bug: 721401
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ic48af0c91ddc9574fa793540df4059247df005d9
Reviewed-on: https://chromium-review.googlesource.com/1048207
Commit-Queue: Helen Li <xunjieli@chromium.org>
Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557876}
parent f32e98d7
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "base/logging.h" #include "base/logging.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/bind_test_util.h"
#include "base/test/scoped_task_environment.h" #include "base/test/scoped_task_environment.h"
#include "base/threading/thread.h" #include "base/threading/thread.h"
#include "mojo/public/cpp/system/data_pipe_utils.h" #include "mojo/public/cpp/system/data_pipe_utils.h"
...@@ -148,17 +149,13 @@ class TestServer { ...@@ -148,17 +149,13 @@ class TestServer {
factory_.CreateTCPServerSocket( factory_.CreateTCPServerSocket(
server_addr_, backlog, TRAFFIC_ANNOTATION_FOR_TESTS, server_addr_, backlog, TRAFFIC_ANNOTATION_FOR_TESTS,
mojo::MakeRequest(&server_socket_), mojo::MakeRequest(&server_socket_),
base::BindOnce( base::BindLambdaForTesting(
[](base::RunLoop* run_loop, int* result_out, [&](int result, const base::Optional<net::IPEndPoint>& local_addr) {
net::IPEndPoint* local_addr_out, int result, net_error = result;
const base::Optional<net::IPEndPoint>& local_addr) {
*result_out = result;
if (local_addr) if (local_addr)
*local_addr_out = local_addr.value(); server_addr_ = local_addr.value();
run_loop->Quit(); run_loop.Quit();
}, }));
base::Unretained(&run_loop), base::Unretained(&net_error),
base::Unretained(&server_addr_)));
run_loop.Run(); run_loop.Run();
EXPECT_EQ(net::OK, net_error); EXPECT_EQ(net::OK, net_error);
} }
...@@ -317,19 +314,15 @@ class TCPSocketTest : public testing::Test { ...@@ -317,19 +314,15 @@ class TCPSocketTest : public testing::Test {
factory_->CreateTCPConnectedSocket( factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, TRAFFIC_ANNOTATION_FOR_TESTS, local_addr, remote_addr_list, TRAFFIC_ANNOTATION_FOR_TESTS,
std::move(request), std::move(observer), std::move(request), std::move(observer),
base::BindOnce( base::BindLambdaForTesting(
[](base::RunLoop* run_loop, int* result_out, [&](int result,
mojo::ScopedDataPipeConsumerHandle* consumer_handle, mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
mojo::ScopedDataPipeProducerHandle* producer_handle, int result, mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
mojo::ScopedDataPipeConsumerHandle receive_pipe_handle, net_error = result;
mojo::ScopedDataPipeProducerHandle send_pipe_handle) { *receive_pipe_handle_out = std::move(receive_pipe_handle);
*result_out = result; *send_pipe_handle_out = std::move(send_pipe_handle);
*consumer_handle = std::move(receive_pipe_handle); run_loop.Quit();
*producer_handle = std::move(send_pipe_handle); }));
run_loop->Quit();
},
base::Unretained(&run_loop), base::Unretained(&net_error),
receive_pipe_handle_out, send_pipe_handle_out));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -715,27 +708,21 @@ TEST_P(TCPSocketWithMockSocketTest, ServerAcceptWithObserverReadError) { ...@@ -715,27 +708,21 @@ TEST_P(TCPSocketWithMockSocketTest, ServerAcceptWithObserverReadError) {
std::move(mock_server_socket)); std::move(mock_server_socket));
auto callback = std::make_unique<net::TestCompletionCallback>(); auto callback = std::make_unique<net::TestCompletionCallback>();
mojom::TCPConnectedSocketPtr connected_socket; mojom::TCPConnectedSocketPtr connected_socket_result;
mojo::ScopedDataPipeConsumerHandle receive_handle; mojo::ScopedDataPipeConsumerHandle receive_handle;
mojo::ScopedDataPipeProducerHandle send_handle; mojo::ScopedDataPipeProducerHandle send_handle;
server_socket->Accept( server_socket->Accept(
observer()->GetObserverPtr(), observer()->GetObserverPtr(),
base::BindOnce( base::BindLambdaForTesting(
[](net::CompletionOnceCallback callback, [&](int result, const base::Optional<net::IPEndPoint>& remote_addr,
mojom::TCPConnectedSocketPtr* socket_out, mojom::TCPConnectedSocketPtr connected_socket,
mojo::ScopedDataPipeConsumerHandle* consumer_handle, mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
mojo::ScopedDataPipeProducerHandle* producer_handle, int result, mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
const base::Optional<net::IPEndPoint>& remote_addr, std::move(callback->callback()).Run(result);
mojom::TCPConnectedSocketPtr connected_socket, connected_socket_result = std::move(connected_socket);
mojo::ScopedDataPipeConsumerHandle receive_pipe_handle, receive_handle = std::move(receive_pipe_handle);
mojo::ScopedDataPipeProducerHandle send_pipe_handle) { send_handle = std::move(send_pipe_handle);
std::move(callback).Run(result); }));
*socket_out = std::move(connected_socket);
*consumer_handle = std::move(receive_pipe_handle);
*producer_handle = std::move(send_pipe_handle);
},
std::move(callback->callback()), &connected_socket, &receive_handle,
&send_handle));
EXPECT_EQ(net::OK, callback->WaitForResult()); EXPECT_EQ(net::OK, callback->WaitForResult());
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
...@@ -769,27 +756,21 @@ TEST_P(TCPSocketWithMockSocketTest, ServerAcceptWithObserverWriteError) { ...@@ -769,27 +756,21 @@ TEST_P(TCPSocketWithMockSocketTest, ServerAcceptWithObserverWriteError) {
std::move(mock_server_socket)); std::move(mock_server_socket));
auto callback = std::make_unique<net::TestCompletionCallback>(); auto callback = std::make_unique<net::TestCompletionCallback>();
mojom::TCPConnectedSocketPtr connected_socket; mojom::TCPConnectedSocketPtr connected_socket_result;
mojo::ScopedDataPipeConsumerHandle receive_handle; mojo::ScopedDataPipeConsumerHandle receive_handle;
mojo::ScopedDataPipeProducerHandle send_handle; mojo::ScopedDataPipeProducerHandle send_handle;
server_socket->Accept( server_socket->Accept(
observer()->GetObserverPtr(), observer()->GetObserverPtr(),
base::BindOnce( base::BindLambdaForTesting(
[](net::CompletionOnceCallback callback, [&](int result, const base::Optional<net::IPEndPoint>& remote_addr,
mojom::TCPConnectedSocketPtr* socket_out, mojom::TCPConnectedSocketPtr connected_socket,
mojo::ScopedDataPipeConsumerHandle* consumer_handle, mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
mojo::ScopedDataPipeProducerHandle* producer_handle, int result, mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
const base::Optional<net::IPEndPoint>& remote_addr, std::move(callback->callback()).Run(result);
mojom::TCPConnectedSocketPtr connected_socket, connected_socket_result = std::move(connected_socket);
mojo::ScopedDataPipeConsumerHandle receive_pipe_handle, receive_handle = std::move(receive_pipe_handle);
mojo::ScopedDataPipeProducerHandle send_pipe_handle) { send_handle = std::move(send_pipe_handle);
std::move(callback).Run(result); }));
*socket_out = std::move(connected_socket);
*consumer_handle = std::move(receive_pipe_handle);
*producer_handle = std::move(send_pipe_handle);
},
std::move(callback->callback()), &connected_socket, &receive_handle,
&send_handle));
EXPECT_EQ(net::OK, callback->WaitForResult()); EXPECT_EQ(net::OK, callback->WaitForResult());
const char kTestMsg[] = "abcdefghij"; const char kTestMsg[] = "abcdefghij";
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <utility> #include <utility>
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/bind_test_util.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h" #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -26,18 +27,14 @@ int UDPSocketTestHelper::ConnectSync(const net::IPEndPoint& remote_addr, ...@@ -26,18 +27,14 @@ int UDPSocketTestHelper::ConnectSync(const net::IPEndPoint& remote_addr,
int net_error = net::ERR_FAILED; int net_error = net::ERR_FAILED;
socket_->get()->Connect( socket_->get()->Connect(
remote_addr, std::move(options), remote_addr, std::move(options),
base::BindOnce( base::BindLambdaForTesting(
[](base::RunLoop* run_loop, int* result_out, [&](int result, const base::Optional<net::IPEndPoint>& local_addr) {
net::IPEndPoint* local_addr_out, int result, net_error = result;
const base::Optional<net::IPEndPoint>& local_addr) {
*result_out = result;
if (local_addr) { if (local_addr) {
*local_addr_out = local_addr.value(); *local_addr_out = local_addr.value();
} }
run_loop->Quit(); run_loop.Quit();
}, }));
base::Unretained(&run_loop), base::Unretained(&net_error),
base::Unretained(local_addr_out)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -49,18 +46,14 @@ int UDPSocketTestHelper::BindSync(const net::IPEndPoint& local_addr, ...@@ -49,18 +46,14 @@ int UDPSocketTestHelper::BindSync(const net::IPEndPoint& local_addr,
int net_error = net::ERR_FAILED; int net_error = net::ERR_FAILED;
socket_->get()->Bind( socket_->get()->Bind(
local_addr, std::move(options), local_addr, std::move(options),
base::BindOnce( base::BindLambdaForTesting(
[](base::RunLoop* run_loop, int* result_out, [&](int result, const base::Optional<net::IPEndPoint>& local_addr) {
net::IPEndPoint* local_addr_out, int result, net_error = result;
const base::Optional<net::IPEndPoint>& local_addr) {
*result_out = result;
if (local_addr) { if (local_addr) {
*local_addr_out = local_addr.value(); *local_addr_out = local_addr.value();
} }
run_loop->Quit(); run_loop.Quit();
}, }));
base::Unretained(&run_loop), base::Unretained(&net_error),
base::Unretained(local_addr_out)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -72,12 +65,10 @@ int UDPSocketTestHelper::SendToSync(const net::IPEndPoint& remote_addr, ...@@ -72,12 +65,10 @@ int UDPSocketTestHelper::SendToSync(const net::IPEndPoint& remote_addr,
socket_->get()->SendTo( socket_->get()->SendTo(
remote_addr, input, remote_addr, input,
net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS), net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
base::BindOnce( base::BindLambdaForTesting([&](int result) {
[](base::RunLoop* run_loop, int* result_out, int result) { net_error = result;
*result_out = result; run_loop.Quit();
run_loop->Quit(); }));
},
base::Unretained(&run_loop), base::Unretained(&net_error)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -88,12 +79,10 @@ int UDPSocketTestHelper::SendSync(const std::vector<uint8_t>& input) { ...@@ -88,12 +79,10 @@ int UDPSocketTestHelper::SendSync(const std::vector<uint8_t>& input) {
socket_->get()->Send( socket_->get()->Send(
input, input,
net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS), net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
base::BindOnce( base::BindLambdaForTesting([&](int result) {
[](base::RunLoop* run_loop, int* result_out, int result) { net_error = result;
*result_out = result; run_loop.Quit();
run_loop->Quit(); }));
},
base::Unretained(&run_loop), base::Unretained(&net_error)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -101,14 +90,11 @@ int UDPSocketTestHelper::SendSync(const std::vector<uint8_t>& input) { ...@@ -101,14 +90,11 @@ int UDPSocketTestHelper::SendSync(const std::vector<uint8_t>& input) {
int UDPSocketTestHelper::SetBroadcastSync(bool broadcast) { int UDPSocketTestHelper::SetBroadcastSync(bool broadcast) {
base::RunLoop run_loop; base::RunLoop run_loop;
int net_error = net::ERR_FAILED; int net_error = net::ERR_FAILED;
socket_->get()->SetBroadcast( socket_->get()->SetBroadcast(broadcast,
broadcast, base::BindLambdaForTesting([&](int result) {
base::BindOnce( net_error = result;
[](base::RunLoop* run_loop, int* result_out, int result) { run_loop.Quit();
*result_out = result; }));
run_loop->Quit();
},
base::Unretained(&run_loop), base::Unretained(&net_error)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -116,14 +102,11 @@ int UDPSocketTestHelper::SetBroadcastSync(bool broadcast) { ...@@ -116,14 +102,11 @@ int UDPSocketTestHelper::SetBroadcastSync(bool broadcast) {
int UDPSocketTestHelper::JoinGroupSync(const net::IPAddress& group_address) { int UDPSocketTestHelper::JoinGroupSync(const net::IPAddress& group_address) {
base::RunLoop run_loop; base::RunLoop run_loop;
int net_error = net::ERR_FAILED; int net_error = net::ERR_FAILED;
socket_->get()->JoinGroup( socket_->get()->JoinGroup(group_address,
group_address, base::BindLambdaForTesting([&](int result) {
base::BindOnce( net_error = result;
[](base::RunLoop* run_loop, int* result_out, int result) { run_loop.Quit();
*result_out = result; }));
run_loop->Quit();
},
base::Unretained(&run_loop), base::Unretained(&net_error)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
...@@ -131,14 +114,11 @@ int UDPSocketTestHelper::JoinGroupSync(const net::IPAddress& group_address) { ...@@ -131,14 +114,11 @@ int UDPSocketTestHelper::JoinGroupSync(const net::IPAddress& group_address) {
int UDPSocketTestHelper::LeaveGroupSync(const net::IPAddress& group_address) { int UDPSocketTestHelper::LeaveGroupSync(const net::IPAddress& group_address) {
base::RunLoop run_loop; base::RunLoop run_loop;
int net_error = net::ERR_FAILED; int net_error = net::ERR_FAILED;
socket_->get()->LeaveGroup( socket_->get()->LeaveGroup(group_address,
group_address, base::BindLambdaForTesting([&](int result) {
base::BindOnce( net_error = result;
[](base::RunLoop* run_loop, int* result_out, int result) { run_loop.Quit();
*result_out = result; }));
run_loop->Quit();
},
base::Unretained(&run_loop), base::Unretained(&net_error)));
run_loop.Run(); run_loop.Run();
return net_error; return net_error;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment