summaryrefslogtreecommitdiff
path: root/chromium/mojo/edk/system/ports/ports_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/mojo/edk/system/ports/ports_unittest.cc')
-rw-r--r--chromium/mojo/edk/system/ports/ports_unittest.cc31
1 files changed, 8 insertions, 23 deletions
diff --git a/chromium/mojo/edk/system/ports/ports_unittest.cc b/chromium/mojo/edk/system/ports/ports_unittest.cc
index 1bdca3ff8cb..1098e8e2942 100644
--- a/chromium/mojo/edk/system/ports/ports_unittest.cc
+++ b/chromium/mojo/edk/system/ports/ports_unittest.cc
@@ -11,6 +11,7 @@
#include <sstream>
#include "base/logging.h"
+#include "base/rand_util.h"
#include "mojo/edk/system/ports/node.h"
#include "mojo/edk/system/ports/node_delegate.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -73,12 +74,12 @@ struct Task {
Task(NodeName node_name, ScopedMessage message)
: node_name(node_name),
message(std::move(message)),
- priority(rand()) {
+ priority(base::RandUint64()) {
}
NodeName node_name;
ScopedMessage message;
- int32_t priority;
+ uint64_t priority;
};
struct TaskComparator {
@@ -122,7 +123,7 @@ int SendStringMessage(Node* node, const PortRef& port, const std::string& s) {
size_t size = s.size() + 1;
ScopedMessage message = TestMessage::NewUserMessage(size, 0);
memcpy(message->mutable_payload_bytes(), s.data(), size);
- return node->SendMessage(port, &message);
+ return node->SendMessage(port, std::move(message));
}
int SendStringMessageWithPort(Node* node,
@@ -133,7 +134,7 @@ int SendStringMessageWithPort(Node* node,
ScopedMessage message = TestMessage::NewUserMessage(size, 1);
memcpy(message->mutable_payload_bytes(), s.data(), size);
message->mutable_ports()[0] = sent_port_name;
- return node->SendMessage(port ,&message);
+ return node->SendMessage(port, std::move(message));
}
int SendStringMessageWithPort(Node* node,
@@ -719,31 +720,16 @@ TEST_F(PortsTest, SendFailure) {
EXPECT_EQ(ERROR_PORT_CANNOT_SEND_PEER,
SendStringMessageWithPort(&node0, A, "nope", B));
+ // B should be closed immediately.
+ EXPECT_EQ(ERROR_PORT_UNKNOWN, node0.GetPort(B.name(), &B));
+
PumpTasks();
// There should have been no messages accepted.
ScopedMessage message;
EXPECT_FALSE(node0_delegate.GetSavedMessage(&message));
- // Both A and B should still work.
-
- EXPECT_EQ(OK, SendStringMessage(&node0, A, "hi"));
- EXPECT_EQ(OK, SendStringMessage(&node0, B, "hey"));
-
- PumpTasks();
-
- ASSERT_TRUE(node0_delegate.GetSavedMessage(&message));
- EXPECT_EQ(0, strcmp("hi", ToString(message)));
- ClosePortsInMessage(&node0, message.get());
-
- ASSERT_TRUE(node0_delegate.GetSavedMessage(&message));
- EXPECT_EQ(0, strcmp("hey", ToString(message)));
- ClosePortsInMessage(&node0, message.get());
-
- PumpTasks();
-
EXPECT_EQ(OK, node0.ClosePort(A));
- EXPECT_EQ(OK, node0.ClosePort(B));
PumpTasks();
@@ -1304,7 +1290,6 @@ TEST_F(PortsTest, MergePortsWithMovedPeers) {
EXPECT_TRUE(node1.CanShutdownCleanly(false));
}
-
TEST_F(PortsTest, MergePortsFailsGracefully) {
// This tests that the system remains in a well-defined state if something
// goes wrong during port merge.