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

Unified Diff: chrome/common/service_process_util_unittest.cc

Issue 2398243002: mac: Stop using deprecated FSRef functions in service_process_util_mac.mm (Closed)
Patch Set: Comments from thakis. 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 | « chrome/common/service_process_util_mac_unittest.mm ('k') | chrome/test/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/service_process_util_unittest.cc
diff --git a/chrome/common/service_process_util_unittest.cc b/chrome/common/service_process_util_unittest.cc
index 3f3588b46dc157b1e197ab10e69fe7b26d9d8cfa..41a0c0e39a15030e0b9479166b906379195320d6 100644
--- a/chrome/common/service_process_util_unittest.cc
+++ b/chrome/common/service_process_util_unittest.cc
@@ -247,179 +247,4 @@ MULTIPROCESS_TEST_MAIN(ServiceProcessStateTestShutdown) {
return 0;
}
-#else // !OS_MACOSX
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/mac/mac_util.h"
-#include "base/test/test_timeouts.h"
-#include "base/threading/thread.h"
-#include "chrome/common/mac/launchd.h"
-#include "chrome/common/mac/mock_launchd.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-class ServiceProcessStateFileManipulationTest : public ::testing::Test {
- protected:
- ServiceProcessStateFileManipulationTest()
- : io_thread_("ServiceProcessStateFileManipulationTest_IO") {
- }
-
- void SetUp() override {
- base::Thread::Options options;
- options.message_loop_type = base::MessageLoop::TYPE_IO;
- ASSERT_TRUE(io_thread_.StartWithOptions(options));
- ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
- ASSERT_TRUE(MockLaunchd::MakeABundle(GetTempDirPath(),
- "Test",
- &bundle_path_,
- &executable_path_));
- mock_launchd_.reset(new MockLaunchd(executable_path_, &loop_,
- false, false));
- scoped_launchd_instance_.reset(
- new Launchd::ScopedInstance(mock_launchd_.get()));
- ASSERT_TRUE(service_process_state_.Initialize());
- ASSERT_TRUE(service_process_state_.SignalReady(
- io_thread_.task_runner().get(), base::Closure()));
- loop_.task_runner()->PostDelayedTask(FROM_HERE,
- run_loop_.QuitWhenIdleClosure(),
- TestTimeouts::action_max_timeout());
- }
-
- const MockLaunchd* mock_launchd() const { return mock_launchd_.get(); }
- const base::FilePath& executable_path() const { return executable_path_; }
- const base::FilePath& bundle_path() const { return bundle_path_; }
- const base::FilePath& GetTempDirPath() const { return temp_dir_.GetPath(); }
-
- base::SingleThreadTaskRunner* GetIOTaskRunner() {
- return io_thread_.task_runner().get();
- }
- void Run() { run_loop_.Run(); }
-
- private:
- base::ScopedTempDir temp_dir_;
- base::MessageLoopForUI loop_;
- base::RunLoop run_loop_;
- base::Thread io_thread_;
- base::FilePath executable_path_, bundle_path_;
- std::unique_ptr<MockLaunchd> mock_launchd_;
- std::unique_ptr<Launchd::ScopedInstance> scoped_launchd_instance_;
- ServiceProcessState service_process_state_;
-};
-
-void DeleteFunc(const base::FilePath& file) {
- EXPECT_TRUE(base::DeleteFile(file, true));
-}
-
-void MoveFunc(const base::FilePath& from, const base::FilePath& to) {
- EXPECT_TRUE(base::Move(from, to));
-}
-
-void ChangeAttr(const base::FilePath& from, int mode) {
- EXPECT_EQ(chmod(from.value().c_str(), mode), 0);
-}
-
-class ScopedAttributesRestorer {
- public:
- ScopedAttributesRestorer(const base::FilePath& path, int mode)
- : path_(path), mode_(mode) {
- }
- ~ScopedAttributesRestorer() {
- ChangeAttr(path_, mode_);
- }
- private:
- base::FilePath path_;
- int mode_;
-};
-
-void TrashFunc(const base::FilePath& src) {
- FSRef path_ref;
- FSRef new_path_ref;
- EXPECT_TRUE(base::mac::FSRefFromPath(src.value(), &path_ref));
- OSStatus status = FSMoveObjectToTrashSync(&path_ref,
- &new_path_ref,
- kFSFileOperationDefaultOptions);
- EXPECT_EQ(status, noErr) << "FSMoveObjectToTrashSync " << status;
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, VerifyLaunchD) {
- // There have been problems where launchd has gotten into a bad state, usually
- // because something had deleted all the files in /tmp. launchd depends on
- // a Unix Domain Socket that it creates at /tmp/launchd*/sock.
- // The symptom of this problem is that the service process connect fails
- // on Mac and "launch_msg(): Socket is not connected" appears.
- // This test is designed to make sure that launchd is working.
- // http://crbug/75518
- // Note: This particular problem no longer affects launchd in 10.10+, since
- // there is no user owned launchd process and sockets are no longer made at
- // /tmp/launchd*/sock. This test is still useful as a sanity check to make
- // sure that launchd appears to be working.
-
- base::CommandLine cl(base::FilePath("/bin/launchctl"));
- cl.AppendArg("limit");
-
- std::string output;
- int exit_code = -1;
- ASSERT_TRUE(base::GetAppOutputWithExitCode(cl, &output, &exit_code)
- && exit_code == 0)
- << " exit_code:" << exit_code << " " << output;
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, DeleteFile) {
- GetIOTaskRunner()->PostTask(FROM_HERE,
- base::Bind(&DeleteFunc, executable_path()));
- Run();
- ASSERT_TRUE(mock_launchd()->remove_called());
- ASSERT_TRUE(mock_launchd()->delete_called());
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, DeleteBundle) {
- GetIOTaskRunner()->PostTask(FROM_HERE,
- base::Bind(&DeleteFunc, bundle_path()));
- Run();
- ASSERT_TRUE(mock_launchd()->remove_called());
- ASSERT_TRUE(mock_launchd()->delete_called());
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, MoveBundle) {
- base::FilePath new_loc = GetTempDirPath().AppendASCII("MoveBundle");
- GetIOTaskRunner()->PostTask(FROM_HERE,
- base::Bind(&MoveFunc, bundle_path(), new_loc));
- Run();
- ASSERT_TRUE(mock_launchd()->restart_called());
- ASSERT_TRUE(mock_launchd()->write_called());
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, MoveFile) {
- base::FilePath new_loc = GetTempDirPath().AppendASCII("MoveFile");
- GetIOTaskRunner()->PostTask(
- FROM_HERE, base::Bind(&MoveFunc, executable_path(), new_loc));
- Run();
- ASSERT_TRUE(mock_launchd()->remove_called());
- ASSERT_TRUE(mock_launchd()->delete_called());
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, TrashBundle) {
- FSRef bundle_ref;
- ASSERT_TRUE(base::mac::FSRefFromPath(bundle_path().value(), &bundle_ref));
- GetIOTaskRunner()->PostTask(FROM_HERE, base::Bind(&TrashFunc, bundle_path()));
- Run();
- ASSERT_TRUE(mock_launchd()->remove_called());
- ASSERT_TRUE(mock_launchd()->delete_called());
- std::string path(base::mac::PathFromFSRef(bundle_ref));
- base::FilePath file_path(path);
- ASSERT_TRUE(base::DeleteFile(file_path, true));
-}
-
-TEST_F(ServiceProcessStateFileManipulationTest, ChangeAttr) {
- ScopedAttributesRestorer restorer(bundle_path(), 0777);
- GetIOTaskRunner()->PostTask(FROM_HERE,
- base::Bind(&ChangeAttr, bundle_path(), 0222));
- Run();
- ASSERT_TRUE(mock_launchd()->remove_called());
- ASSERT_TRUE(mock_launchd()->delete_called());
-}
-
#endif // !OS_MACOSX
« no previous file with comments | « chrome/common/service_process_util_mac_unittest.mm ('k') | chrome/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698