X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fcommon%2Fservice_process_util_unittest.cc;h=4dc9c327e8b7dd41b38c58ab188dcf917e21df2d;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=d1ca2c4278bac51decc431649c766346a949ecd6;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/common/service_process_util_unittest.cc b/src/chrome/common/service_process_util_unittest.cc index d1ca2c4..4dc9c32 100644 --- a/src/chrome/common/service_process_util_unittest.cc +++ b/src/chrome/common/service_process_util_unittest.cc @@ -10,6 +10,7 @@ #include "base/files/file_path.h" #include "base/process/kill.h" #include "base/process/launch.h" +#include "base/strings/string_split.h" #if !defined(OS_MACOSX) #include "base/at_exit.h" @@ -28,7 +29,6 @@ #endif #if defined(OS_POSIX) -#include #include "chrome/common/auto_start_linux.h" #endif @@ -138,16 +138,19 @@ TEST_F(ServiceProcessStateTest, AutoRun) { std::string exec_value; EXPECT_TRUE(AutoStart::GetAutostartFileValue( GetServiceProcessScopedName(base_desktop_name), "Exec", &exec_value)); - GError *error = NULL; - gchar **argv = NULL; - gint argc = 0; - if (g_shell_parse_argv(exec_value.c_str(), &argc, &argv, &error)) { - autorun_command_line.reset(new CommandLine(argc, argv)); - g_strfreev(argv); - } else { - ADD_FAILURE(); - g_error_free(error); - } + + // Make sure |exec_value| doesn't contain strings a shell would + // treat specially. + ASSERT_EQ(std::string::npos, exec_value.find('#')); + ASSERT_EQ(std::string::npos, exec_value.find('\n')); + ASSERT_EQ(std::string::npos, exec_value.find('"')); + ASSERT_EQ(std::string::npos, exec_value.find('\'')); + + CommandLine::StringVector argv; + base::SplitString(exec_value, ' ', &argv); + ASSERT_GE(argv.size(), 2U) + << "Expected at least one command-line option in: " << exec_value; + autorun_command_line.reset(new CommandLine(argv)); #endif // defined(OS_WIN) if (autorun_command_line.get()) { EXPECT_EQ(autorun_command_line->GetSwitchValueASCII(switches::kProcessType),