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

Unified Diff: components/arc/standalone/service_helper_unittest.cc

Issue 2384173004: arc: Remove components/arc/standalone (Closed)
Patch Set: Rebased to ToT Created 4 years, 2 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
« no previous file with comments | « components/arc/standalone/service_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/standalone/service_helper_unittest.cc
diff --git a/components/arc/standalone/service_helper_unittest.cc b/components/arc/standalone/service_helper_unittest.cc
deleted file mode 100644
index 35dd5af37a479b0841070e691d720ed28644a055..0000000000000000000000000000000000000000
--- a/components/arc/standalone/service_helper_unittest.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/arc/standalone/service_helper.h"
-
-#include <signal.h>
-#include <unistd.h>
-
-#include <memory>
-
-#include "base/bind.h"
-#include "base/files/file_descriptor_watcher_posix.h"
-#include "base/macros.h"
-#include "base/memory/ptr_util.h"
-#include "base/message_loop/message_loop.h"
-#include "base/run_loop.h"
-#include "base/single_thread_task_runner.h"
-#include "base/test/launcher/unit_test_launcher.h"
-#include "base/test/test_suite.h"
-#include "base/threading/platform_thread.h"
-#include "base/time/time.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace arc {
-
-class ServiceHelperTest : public ::testing::Test {
- public:
- ServiceHelperTest() {}
- ~ServiceHelperTest() override {}
-
- void Quit() {
- CHECK(base_loop_);
- CHECK(run_loop_);
- base_loop_->task_runner()->PostTask(FROM_HERE, run_loop_->QuitClosure());
- }
-
- void Init() {
- // Dynamically create the message loop to avoid thread check failure of task
- // runner in Debug mode.
- base_loop_.reset(new base::MessageLoopForIO());
- run_loop_.reset(new base::RunLoop());
-
- // Required to watch a file descriptor from ServiceHelper.
- file_descriptor_watcher_ =
- base::MakeUnique<FileDescriptorWatcher>(base_loop_.get());
-
- // This cannot be put inside SetUp() because we need to run it after fork().
- helper_.reset(new ServiceHelper());
- helper_->Init(base::Bind(&ServiceHelperTest::Quit,
- base::Unretained(this)));
- }
-
- protected:
- std::unique_ptr<base::MessageLoopForIO> base_loop_;
- std::unique_ptr<base::MessageLoopForIO> file_descriptor_watcher_;
- std::unique_ptr<base::RunLoop> run_loop_;
- std::unique_ptr<ServiceHelper> helper_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ServiceHelperTest);
-};
-
-TEST_F(ServiceHelperTest, CheckExternalTerm) {
- // Fork ourselves and run it.
- pid_t child_pid = fork();
- if (child_pid == 0) { // Child process
- Init();
- run_loop_->Run();
- helper_.reset(); // Make sure ServiceHelper dtor does not crash.
- _Exit(EXIT_SUCCESS);
- } else if (child_pid == -1) { // Failed to fork
- FAIL();
- } else { // Parent process
- // Deliberate race. If ServiceHelper had bugs and stalled, the short
- // timeout would kill forked process and stop the test. In that case
- // there will be a crash from improperly terminated message loop
- // and we shall capture the error.
- base::PlatformThread::Sleep(base::TimeDelta::FromSeconds(1));
- kill(child_pid, SIGTERM);
- int status;
- ASSERT_EQ(child_pid, waitpid(child_pid, &status, 0));
- ASSERT_TRUE(WIFEXITED(status));
- }
-}
-
-} // namespace arc
-
-int main(int argc, char** argv) {
- base::TestSuite test_suite(argc, argv);
- return base::LaunchUnitTestsSerially(
- argc, argv,
- base::Bind(&base::TestSuite::Run, base::Unretained(&test_suite)));
-}
« no previous file with comments | « components/arc/standalone/service_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698