Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1162)

Unified Diff: mojo/edk/system/message_pipe_perftest.cc

Issue 1585493002: [mojo] Ports EDK (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/edk/system/message_pipe_perftest.cc
diff --git a/mojo/edk/system/message_pipe_perftest.cc b/mojo/edk/system/message_pipe_perftest.cc
index c0a8fcef5c61a7137e8fc0bc6e70b37756049f8d..569ee1f21272e0951777fb106639164df2f61e67 100644
--- a/mojo/edk/system/message_pipe_perftest.cc
+++ b/mojo/edk/system/message_pipe_perftest.cc
@@ -14,8 +14,8 @@
#include "mojo/edk/embedder/embedder.h"
#include "mojo/edk/embedder/scoped_platform_handle.h"
#include "mojo/edk/system/handle_signals_state.h"
-#include "mojo/edk/system/message_pipe_test_utils.h"
#include "mojo/edk/system/test_utils.h"
+#include "mojo/edk/test/mojo_test_base.h"
#include "mojo/edk/test/test_utils.h"
#include "mojo/public/c/system/functions.h"
#include "mojo/public/cpp/system/message_pipe.h"
@@ -25,8 +25,7 @@ namespace mojo {
namespace edk {
namespace {
-class MultiprocessMessagePipePerfTest
- : public test::MultiprocessMessagePipeTestBase {
+class MultiprocessMessagePipePerfTest : public test::MojoTestBase {
public:
MultiprocessMessagePipePerfTest()
: message_count_(0),
@@ -89,20 +88,15 @@ class MultiprocessMessagePipePerfTest
// repeated twice, until the other end is closed or it receives "quitquitquit"
// (which it doesn't reply to). It'll return the number of messages received,
// not including any "quitquitquit" message, modulo 100.
-MOJO_MULTIPROCESS_TEST_CHILD_MAIN(PingPongClient) {
- ScopedPlatformHandle client_platform_handle =
- std::move(test::MultiprocessTestHelper::client_platform_handle);
- CHECK(client_platform_handle.is_valid());
- ScopedMessagePipeHandle mp =
- CreateMessagePipe(std::move(client_platform_handle));
-
+DEFINE_TEST_CLIENT_WITH_PIPE(PingPongClient, MultiprocessMessagePipePerfTest,
+ h) {
std::string buffer(1000000, '\0');
int rv = 0;
while (true) {
// Wait for our end of the message pipe to be readable.
HandleSignalsState hss;
MojoResult result =
- MojoWait(mp.get().value(), MOJO_HANDLE_SIGNAL_READABLE,
+ MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
MOJO_DEADLINE_INDEFINITE, &hss);
if (result != MOJO_RESULT_OK) {
rv = result;
@@ -110,7 +104,7 @@ MOJO_MULTIPROCESS_TEST_CHILD_MAIN(PingPongClient) {
}
uint32_t read_size = static_cast<uint32_t>(buffer.size());
- CHECK_EQ(MojoReadMessage(mp.get().value(), &buffer[0],
+ CHECK_EQ(MojoReadMessage(h, &buffer[0],
&read_size, nullptr,
0, MOJO_READ_MESSAGE_FLAG_NONE),
MOJO_RESULT_OK);
@@ -119,7 +113,7 @@ MOJO_MULTIPROCESS_TEST_CHILD_MAIN(PingPongClient) {
if (read_size == 0)
break;
- CHECK_EQ(MojoWriteMessage(mp.get().value(), &buffer[0],
+ CHECK_EQ(MojoWriteMessage(h, &buffer[0],
read_size,
nullptr, 0, MOJO_WRITE_MESSAGE_FLAG_NONE),
MOJO_RESULT_OK);
@@ -138,22 +132,18 @@ MOJO_MULTIPROCESS_TEST_CHILD_MAIN(PingPongClient) {
#define MAYBE_PingPong PingPong
#endif // defined(OS_ANDROID)
TEST_F(MultiprocessMessagePipePerfTest, MAYBE_PingPong) {
- helper()->StartChild("PingPongClient");
-
- ScopedMessagePipeHandle mp =
- CreateMessagePipe(std::move(helper()->server_platform_handle));
-
- // This values are set to align with one at ipc_pertests.cc for comparison.
- const size_t kMsgSize[5] = {12, 144, 1728, 20736, 248832};
- const int kMessageCount[5] = {50000, 50000, 50000, 12000, 1000};
-
- for (size_t i = 0; i < 5; i++) {
- SetUpMeasurement(kMessageCount[i], kMsgSize[i]);
- Measure(mp.get().value());
- }
+ RUN_CHILD_ON_PIPE(PingPongClient, h)
+ // This values are set to align with one at ipc_pertests.cc for comparison.
+ const size_t kMsgSize[5] = {12, 144, 1728, 20736, 248832};
+ const int kMessageCount[5] = {50000, 50000, 50000, 12000, 1000};
+
+ for (size_t i = 0; i < 5; i++) {
+ SetUpMeasurement(kMessageCount[i], kMsgSize[i]);
+ Measure(h);
+ }
- SendQuitMessage(mp.get().value());
- EXPECT_EQ(0, helper()->WaitForChildShutdown());
+ SendQuitMessage(h);
+ END_CHILD()
}
} // namespace

Powered by Google App Engine
This is Rietveld 408576698