diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-16 05:00:22 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-16 05:00:22 +0000 |
commit | 838eb9df8b2796d968b884d81eece35e5dae8f87 (patch) | |
tree | 8322f934f1d3411b443ae17885d51dda8b24df35 /base/process_util_unittest.cc | |
parent | 59ac0f420158f315f6d95c75f1fe2de6e9d5edd9 (diff) | |
download | chromium_src-838eb9df8b2796d968b884d81eece35e5dae8f87.zip chromium_src-838eb9df8b2796d968b884d81eece35e5dae8f87.tar.gz chromium_src-838eb9df8b2796d968b884d81eece35e5dae8f87.tar.bz2 |
Revert 52608 - Add and alternative GetAppOutput() to process_util that takes a timeout.
["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due
to timeout.]
Contributed by tessamac@chromium.org
TEST=none
BUG=47356
Review URL: http://codereview.chromium.org/2810014
Patch from Tessa MacDuff <tessamac@chromium.org>.
TBR=viettrungluu@chromium.org, tessamac@chromium.org
Review URL: http://codereview.chromium.org/3012004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52613 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/process_util_unittest.cc')
-rw-r--r-- | base/process_util_unittest.cc | 82 |
1 files changed, 8 insertions, 74 deletions
diff --git a/base/process_util_unittest.cc b/base/process_util_unittest.cc index 675f38f..481c759 100644 --- a/base/process_util_unittest.cc +++ b/base/process_util_unittest.cc @@ -436,85 +436,19 @@ TEST_F(ProcessUtilTest, AlterEnvironment) { delete[] e; } -TEST_F(ProcessUtilTest, GetAppOutput_Success) { - std::string output; - EXPECT_TRUE(base::GetAppOutput(CommandLine(FilePath( - FILE_PATH_LITERAL("true"))), &output)); - EXPECT_STREQ("", output.c_str()); - - CommandLine command_line(FilePath(FILE_PATH_LITERAL("echo"))); - command_line.AppendLooseValue(L"foobar42"); - EXPECT_TRUE(base::GetAppOutput(command_line, &output)); - EXPECT_STREQ("foobar42\n", output.c_str()); -} - -TEST_F(ProcessUtilTest, GetAppOutput_Failure) { +TEST_F(ProcessUtilTest, GetAppOutput) { std::string output; - EXPECT_FALSE(base::GetAppOutput(CommandLine(FilePath( - FILE_PATH_LITERAL("false"))), &output)); + EXPECT_TRUE(base::GetAppOutput(CommandLine(FilePath("true")), &output)); EXPECT_STREQ("", output.c_str()); - // Make sure we capture output in case of failure. - std::vector<std::string> argv; - argv.push_back("/bin/sh"); - argv.push_back("-c"); - argv.push_back("echo hello && false"); - EXPECT_FALSE(base::GetAppOutput(CommandLine(argv), &output)); - EXPECT_STREQ("hello\n", output.c_str()); -} - -TEST_F(ProcessUtilTest, GetAppOutputWithTimeout_SuccessWithinTimeout) { - CommandLine command_line(FilePath(FILE_PATH_LITERAL("echo"))); - command_line.AppendLooseValue(L"hello"); - std::string output; - bool timed_out; - - EXPECT_TRUE(base::GetAppOutputWithTimeout( - command_line, &output, &timed_out, - std::numeric_limits<int>::max())); - EXPECT_EQ("hello\n", output); - EXPECT_FALSE(timed_out); -} + EXPECT_FALSE(base::GetAppOutput(CommandLine(FilePath("false")), &output)); -TEST_F(ProcessUtilTest, GetAppOutputWithTimeout_FailureWithinTimeout) { std::vector<std::string> argv; - argv.push_back("/bin/sh"); - argv.push_back("-c"); - argv.push_back("echo hello && false"); - std::string output; - bool timed_out; - - EXPECT_FALSE(base::GetAppOutputWithTimeout( - CommandLine(argv), &output, &timed_out, - std::numeric_limits<int>::max())); - EXPECT_EQ("hello\n", output); - EXPECT_FALSE(timed_out); -} - -TEST_F(ProcessUtilTest, WaitForExitCodeWithTimeout) { - CommandLine command_line(FilePath(FILE_PATH_LITERAL("sleep"))); - command_line.AppendLooseValue(L"10000"); - - base::ProcessHandle process_handle; - EXPECT_TRUE(base::LaunchApp(command_line, false, false, - &process_handle)); - int exit_code = 42; - EXPECT_FALSE(base::WaitForExitCodeWithTimeout(process_handle, &exit_code, 1)); - EXPECT_EQ(42, exit_code); // exit_code is unchanged if timeout triggers. -} - -TEST_F(ProcessUtilTest, GetAppOutputWithTimeout_TimedOutWhileOutputing) { - std::vector<std::string> argv; - argv.push_back("/bin/sh"); - argv.push_back("-c"); - argv.push_back("echo asleep && sleep 10 && echo awake"); - std::string output; - bool timed_out; - - EXPECT_FALSE(base::GetAppOutputWithTimeout(CommandLine(argv), &output, - &timed_out, 1000)); - EXPECT_EQ("asleep\n", output); // Timed out before printing "awake". - EXPECT_TRUE(timed_out); + argv.push_back("/bin/echo"); + argv.push_back("-n"); + argv.push_back("foobar42"); + EXPECT_TRUE(base::GetAppOutput(CommandLine(argv), &output)); + EXPECT_STREQ("foobar42", output.c_str()); } TEST_F(ProcessUtilTest, GetAppOutputRestricted) { |