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

Side by Side Diff: mojo/dart/embedder/test/dart_to_cpp_tests.cc

Issue 800523004: Dart: Simplifies the handle watcher. Various cleanups and bugfixes. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/at_exit.h" 5 #include "base/at_exit.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 }; 242 };
243 243
244 } // namespace 244 } // namespace
245 245
246 class DartToCppTest : public testing::Test { 246 class DartToCppTest : public testing::Test {
247 public: 247 public:
248 DartToCppTest() {} 248 DartToCppTest() {}
249 249
250 bool RunTest(const std::string& test, CppSideConnection* cpp_side) { 250 bool RunTest(const std::string& test, CppSideConnection* cpp_side) {
251 // Putting Dart on its own thread so we can use Dart_RunLoop (called from 251 // Putting Dart on its own thread so we can use Dart_RunLoop (called from
252 // DartController::runDartScript) and base::RunLoop::Run together. Passing 252 // DartController::RunDartScript) and base::RunLoop::Run together. Passing
253 // the thread to RunWithDartOnThread instead of inlining that function here 253 // the thread to RunWithDartOnThread instead of inlining that function here
254 // so that we are sure the MessagePipe destructor runs and closes the 254 // so that we are sure the MessagePipe destructor runs and closes the
255 // handles on the C++ side before the Thread destructor runs and joins on 255 // handles on the C++ side before the Thread destructor runs and joins on
256 // the Dart thread. Closing the handles on the C++ side must happen first 256 // the Dart thread. Closing the handles on the C++ side must happen first
257 // because it is the client, and therefore the Dart side will run and not 257 // because it is the client, and therefore the Dart side will run and not
258 // join while handles are still open, until the C++ side closes them. 258 // join while handles are still open, until the C++ side closes them.
259 base::Thread dart_thread("dart"); 259 base::Thread dart_thread("dart");
260 cpp_side->set_run_loop(&run_loop_); 260 cpp_side->set_run_loop(&run_loop_);
261 return RunWithDartOnThread(&dart_thread, test, cpp_side); 261 return RunWithDartOnThread(&dart_thread, test, cpp_side);
262 } 262 }
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 TEST_F(DartToCppTest, Echo) { 368 TEST_F(DartToCppTest, Echo) {
369 EchoCppSideConnection cpp_side_connection; 369 EchoCppSideConnection cpp_side_connection;
370 bool unhandled_exception = 370 bool unhandled_exception =
371 RunTest("dart_to_cpp_tests.dart", &cpp_side_connection); 371 RunTest("dart_to_cpp_tests.dart", &cpp_side_connection);
372 EXPECT_TRUE(cpp_side_connection.DidSucceed()); 372 EXPECT_TRUE(cpp_side_connection.DidSucceed());
373 EXPECT_FALSE(unhandled_exception); 373 EXPECT_FALSE(unhandled_exception);
374 } 374 }
375 375
376 } // namespace dart 376 } // namespace dart
377 } // namespace mojo 377 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698