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

Unified Diff: mojo/public/cpp/bindings/tests/connector_unittest.cc

Issue 2064903002: Mojo: Report bindings validation errors via MojoNotifyBadMessage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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/public/cpp/bindings/tests/connector_unittest.cc
diff --git a/mojo/public/cpp/bindings/tests/connector_unittest.cc b/mojo/public/cpp/bindings/tests/connector_unittest.cc
index 7e40f3230f3180e13b34e47c25cba24358cea193..1d03293d489b3523ea687c025fc1ae2c8934a428 100644
--- a/mojo/public/cpp/bindings/tests/connector_unittest.cc
+++ b/mojo/public/cpp/bindings/tests/connector_unittest.cc
@@ -25,7 +25,7 @@ class MessageAccumulator : public MessageReceiver {
MessageAccumulator() {}
explicit MessageAccumulator(const Closure& closure) : closure_(closure) {}
- bool Accept(Message* message) override {
+ bool Accept(Message* message, Error* error) override {
queue_.Push(message);
if (!closure_.is_null()) {
Closure closure = closure_;
@@ -53,10 +53,10 @@ class ConnectorDeletingMessageAccumulator : public MessageAccumulator {
ConnectorDeletingMessageAccumulator(internal::Connector** connector)
: connector_(connector) {}
- bool Accept(Message* message) override {
+ bool Accept(Message* message, Error* error) override {
delete *connector_;
*connector_ = nullptr;
- return MessageAccumulator::Accept(message);
+ return MessageAccumulator::Accept(message, error);
}
private:
@@ -68,8 +68,8 @@ class ReentrantMessageAccumulator : public MessageAccumulator {
ReentrantMessageAccumulator(internal::Connector* connector)
: connector_(connector), number_of_calls_(0) {}
- bool Accept(Message* message) override {
- if (!MessageAccumulator::Accept(message))
+ bool Accept(Message* message, Error* error) override {
+ if (!MessageAccumulator::Accept(message, error))
return false;
number_of_calls_++;
if (number_of_calls_ == 1) {
@@ -124,7 +124,8 @@ TEST_F(ConnectorTest, Basic) {
Message message;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
base::RunLoop run_loop;
MessageAccumulator accumulator(run_loop.QuitClosure());
@@ -155,7 +156,8 @@ TEST_F(ConnectorTest, Basic_Synchronous) {
Message message;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
MessageAccumulator accumulator;
connector1.set_incoming_receiver(&accumulator);
@@ -189,7 +191,8 @@ TEST_F(ConnectorTest, Basic_EarlyIncomingReceiver) {
Message message;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
run_loop.Run();
@@ -217,7 +220,8 @@ TEST_F(ConnectorTest, Basic_TwoMessages) {
Message message;
AllocMessage(kText[i], &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
}
MessageAccumulator accumulator;
@@ -254,7 +258,8 @@ TEST_F(ConnectorTest, Basic_TwoMessages_Synchronous) {
Message message;
AllocMessage(kText[i], &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
}
MessageAccumulator accumulator;
@@ -291,7 +296,8 @@ TEST_F(ConnectorTest, WriteToClosedPipe) {
EXPECT_FALSE(connector0.encountered_error());
// Write failures are not reported.
- bool ok = connector0.Accept(&message);
+ Error error;
+ bool ok = connector0.Accept(&message, &error);
EXPECT_TRUE(ok);
// Still not observed.
@@ -321,7 +327,8 @@ TEST_F(ConnectorTest, MessageWithHandles) {
MessagePipe pipe;
message1.mutable_handles()->push_back(pipe.handle0.release());
- connector0.Accept(&message1);
+ Error error;
+ connector0.Accept(&message1, &error);
// The message should have been transferred, releasing the handles.
EXPECT_TRUE(message1.handles()->empty());
@@ -360,7 +367,7 @@ TEST_F(ConnectorTest, MessageWithHandles) {
Message message2;
AllocMessage(kText, &message2);
- connector_received.Accept(&message2);
+ connector_received.Accept(&message2, &error);
base::RunLoop run_loop2;
MessageAccumulator accumulator2(run_loop2.QuitClosure());
connector_original.set_incoming_receiver(&accumulator2);
@@ -397,7 +404,8 @@ TEST_F(ConnectorTest, WaitForIncomingMessageWithDeletion) {
Message message;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
ConnectorDeletingMessageAccumulator accumulator(&connector1);
connector1->set_incoming_receiver(&accumulator);
@@ -429,7 +437,8 @@ TEST_F(ConnectorTest, WaitForIncomingMessageWithReentrancy) {
Message message;
AllocMessage(kText[i], &message);
- connector0.Accept(&message);
+ Error error;
+ connector0.Accept(&message, &error);
}
ReentrantMessageAccumulator accumulator(&connector1);
@@ -481,8 +490,9 @@ TEST_F(ConnectorTest, RaiseError) {
Message message;
AllocMessage(kText, &message);
- connector0.Accept(&message);
- connector0.RaiseError();
+ Error error;
+ connector0.Accept(&message, &error);
+ connector0.RaiseError(std::move(error));
base::RunLoop run_loop3;
MessageAccumulator accumulator(run_loop3.QuitClosure());
@@ -528,10 +538,11 @@ TEST_F(ConnectorTest, PauseWithQueuedMessages) {
// Queue up two messages.
Message message;
+ Error error;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ connector0.Accept(&message, &error);
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ connector0.Accept(&message, &error);
base::RunLoop run_loop;
// Configure the accumulator such that it pauses after the first message is
@@ -561,10 +572,11 @@ TEST_F(ConnectorTest, ProcessWhenNested) {
// Queue up two messages.
Message message;
+ Error error;
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ connector0.Accept(&message, &error);
AllocMessage(kText, &message);
- connector0.Accept(&message);
+ connector0.Accept(&message, &error);
base::RunLoop run_loop;
MessageAccumulator accumulator;

Powered by Google App Engine
This is Rietveld 408576698