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

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..6b978a77690e3cb77601b5c4822aba18c5bf00a5 100644
--- a/mojo/public/cpp/bindings/tests/connector_unittest.cc
+++ b/mojo/public/cpp/bindings/tests/connector_unittest.cc
@@ -25,14 +25,14 @@ class MessageAccumulator : public MessageReceiver {
MessageAccumulator() {}
explicit MessageAccumulator(const Closure& closure) : closure_(closure) {}
- bool Accept(Message* message) override {
+ Result Accept(Message* message) override {
queue_.Push(message);
if (!closure_.is_null()) {
Closure closure = closure_;
closure_.reset();
closure.Run();
}
- return true;
+ return Result::ForSuccess();
}
bool IsEmpty() const { return queue_.IsEmpty(); }
@@ -53,7 +53,7 @@ class ConnectorDeletingMessageAccumulator : public MessageAccumulator {
ConnectorDeletingMessageAccumulator(internal::Connector** connector)
: connector_(connector) {}
- bool Accept(Message* message) override {
+ Result Accept(Message* message) override {
delete *connector_;
*connector_ = nullptr;
return MessageAccumulator::Accept(message);
@@ -68,14 +68,18 @@ class ReentrantMessageAccumulator : public MessageAccumulator {
ReentrantMessageAccumulator(internal::Connector* connector)
: connector_(connector), number_of_calls_(0) {}
- bool Accept(Message* message) override {
- if (!MessageAccumulator::Accept(message))
- return false;
+ Result Accept(Message* message) override {
+ Result result = MessageAccumulator::Accept(message);
+ if (!result.Succeeded())
+ return result;
number_of_calls_++;
if (number_of_calls_ == 1) {
- return connector_->WaitForIncomingMessage(MOJO_DEADLINE_INDEFINITE);
+ bool result =
+ connector_->WaitForIncomingMessage(MOJO_DEADLINE_INDEFINITE);
+ DCHECK(result);
+ return Result::ForSuccess();
}
- return true;
+ return Result::ForSuccess();
}
int number_of_calls() { return number_of_calls_; }
@@ -291,8 +295,8 @@ TEST_F(ConnectorTest, WriteToClosedPipe) {
EXPECT_FALSE(connector0.encountered_error());
// Write failures are not reported.
- bool ok = connector0.Accept(&message);
- EXPECT_TRUE(ok);
+ MessageReceiver::Result result = connector0.Accept(&message);
+ EXPECT_TRUE(result.Succeeded());
// Still not observed.
EXPECT_FALSE(connector0.encountered_error());
@@ -482,7 +486,7 @@ TEST_F(ConnectorTest, RaiseError) {
AllocMessage(kText, &message);
connector0.Accept(&message);
- connector0.RaiseError();
+ connector0.RaiseError(MessageReceiver::Result::ForUnknownError());
base::RunLoop run_loop3;
MessageAccumulator accumulator(run_loop3.QuitClosure());

Powered by Google App Engine
This is Rietveld 408576698