diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 07:04:35 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 07:04:35 +0000 |
commit | ea392a6705010fe7d2ceec3980bf5df39aaf2f82 (patch) | |
tree | 36d54897f7daae79295620ba0eedfe527fdf20f2 /chrome/browser/process_singleton_linux_uitest.cc | |
parent | 278f81c31b6e9ed5b87a826804426dea3dc4d5d7 (diff) | |
download | chromium_src-ea392a6705010fe7d2ceec3980bf5df39aaf2f82.zip chromium_src-ea392a6705010fe7d2ceec3980bf5df39aaf2f82.tar.gz chromium_src-ea392a6705010fe7d2ceec3980bf5df39aaf2f82.tar.bz2 |
Reverting 21943.
Broke valgrind ui_tests
Review URL: http://codereview.chromium.org/160320
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/process_singleton_linux_uitest.cc')
-rw-r--r-- | chrome/browser/process_singleton_linux_uitest.cc | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/chrome/browser/process_singleton_linux_uitest.cc b/chrome/browser/process_singleton_linux_uitest.cc deleted file mode 100644 index 63347a8..0000000 --- a/chrome/browser/process_singleton_linux_uitest.cc +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright (c) 2009 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 "chrome/browser/process_singleton.h" - -#include <sys/types.h> -#include <sys/wait.h> -#include <signal.h> -#include <unistd.h> -#include <vector> -#include <string> - -#include "base/path_service.h" -#include "base/string_util.h" -#include "base/thread.h" -#include "chrome/browser/browser.h" -#include "chrome/browser/browser_process.h" -#include "chrome/common/chrome_constants.h" -#include "chrome/common/chrome_paths.h" -#include "chrome/test/ui/ui_test.h" -#include "testing/gtest/include/gtest/gtest.h" - -class ProcessSingletonLinuxTest : public UITest { - protected: - // A helper method to call ProcessSingleton::NotifyOtherProcess(). - // |url| will be added to CommandLine for current process, so that it can be - // sent to browser process by ProcessSingleton::NotifyOtherProcess(). - void NotifyOtherProcess(const std::string& url, bool expect_result) { - FilePath user_data_dir; - PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); - - std::vector<std::string> old_argv = - CommandLine::ForCurrentProcess()->argv(); - std::vector<std::string> argv; - argv.push_back(old_argv[0]); - argv.push_back(url); - - CommandLine::Reset(); - CommandLine::Init(argv); - - ProcessSingleton process_singleton(user_data_dir); - - if (expect_result) - EXPECT_TRUE(process_singleton.NotifyOtherProcess()); - else - EXPECT_FALSE(process_singleton.NotifyOtherProcess()); - } -}; - -// Test if the socket file and symbol link created by ProcessSingletonLinux -// are valid. When running this test, the ProcessSingleton object is already -// initiated by UITest. So we just test against this existing object. -TEST_F(ProcessSingletonLinuxTest, CheckSocketFile) { - FilePath user_data_dir; - FilePath path; - PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); - - path = user_data_dir.Append(chrome::kSingletonSocketFilename); - - struct stat statbuf; - ASSERT_EQ(0, lstat(path.value().c_str(), &statbuf)); - ASSERT_TRUE(S_ISLNK(statbuf.st_mode)); - char buf[PATH_MAX + 1]; - ssize_t len = readlink(path.value().c_str(), buf, PATH_MAX); - ASSERT_GT(len, 0); - buf[len] = '\0'; - - path = user_data_dir.Append(buf); - ASSERT_EQ(0, lstat(path.value().c_str(), &statbuf)); - ASSERT_TRUE(S_ISSOCK(statbuf.st_mode)); -} - -// TODO(james.su@gmail.com): port following tests to Windows. -// Test success case of NotifyOtherProcess(). -TEST_F(ProcessSingletonLinuxTest, NotifyOtherProcessSuccess) { - std::string url("about:blank"); - int original_tab_count = GetTabCount(); - - NotifyOtherProcess(url, true); - EXPECT_EQ(original_tab_count + 1, GetTabCount()); - EXPECT_EQ(url, GetActiveTabURL().spec()); -} - -// Test failure case of NotifyOtherProcess(). -TEST_F(ProcessSingletonLinuxTest, NotifyOtherProcessFailure) { - // Block the browser process, then it'll be killed by - // ProcessSingleton::NotifyOtherProcess(). - kill(process(), SIGSTOP); - - std::string url("about:blank"); - NotifyOtherProcess(url, false); - - // Wait for a while to make sure the browser process is actually killed. - usleep(10000); - - EXPECT_FALSE(IsBrowserRunning()); -} |