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

Unified Diff: common/command_line_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 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 | « common/command_line_builder_unittest.cc ('k') | common/config_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/command_line_unittest.cc
diff --git a/common/command_line_unittest.cc b/common/command_line_unittest.cc
deleted file mode 100644
index 758bdb8bae286110c24272c93231a3051ae2b339..0000000000000000000000000000000000000000
--- a/common/command_line_unittest.cc
+++ /dev/null
@@ -1,1233 +0,0 @@
-// Copyright 2007-2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#include "omaha/base/utils.h"
-#include "omaha/common/command_line.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-// Used by extra_args_parser_unittest.cc.
-void VerifyCommandLineExtraArgs(const CommandLineExtraArgs& expected_val,
- const CommandLineExtraArgs& actual_val);
-
-namespace {
-
-#define YOUTUBEUPLOADEREN_TAG_WITHOUT_QUOTES \
- _T("appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&") \
- _T("appname=YouTubeUploader&needsadmin=False&lang=en")
-
-#define YOUTUBEUPLOADEREN_APP_ARGS_WITHOUT_QUOTES \
- _T("appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&") \
- _T("installerdata=YouTube%20Uploader%20Data")
-
-#define YOUTUBEUPLOADEREN_TAG \
- _T("\"") YOUTUBEUPLOADEREN_TAG_WITHOUT_QUOTES _T("\"")
-
-#define YOUTUBEUPLOADEREN_APP_ARGS \
- _T("\"") YOUTUBEUPLOADEREN_APP_ARGS_WITHOUT_QUOTES _T("\"")
-
-void VerifyCommandLineArgs(const CommandLineArgs& expected,
- const CommandLineArgs& actual) {
- EXPECT_EQ(expected.mode, actual.mode);
-
- EXPECT_EQ(expected.is_interactive_set, actual.is_interactive_set);
- EXPECT_EQ(expected.is_machine_set, actual.is_machine_set);
- EXPECT_EQ(expected.is_install_elevated, actual.is_install_elevated);
- EXPECT_EQ(expected.is_silent_set, actual.is_silent_set);
- EXPECT_EQ(expected.is_eula_required_set, actual.is_eula_required_set);
- EXPECT_EQ(expected.is_offline_set, actual.is_offline_set);
- EXPECT_EQ(expected.is_oem_set, actual.is_oem_set);
-
- EXPECT_STREQ(expected.extra_args_str, actual.extra_args_str);
- EXPECT_STREQ(expected.app_args_str, actual.app_args_str);
- EXPECT_STREQ(expected.install_source, actual.install_source);
- EXPECT_STREQ(expected.crash_filename, actual.crash_filename);
- EXPECT_STREQ(expected.custom_info_filename, actual.custom_info_filename);
- EXPECT_STREQ(expected.legacy_manifest_path, actual.legacy_manifest_path);
- EXPECT_STREQ(expected.webplugin_urldomain, actual.webplugin_urldomain);
- EXPECT_STREQ(expected.webplugin_args, actual.webplugin_args);
- EXPECT_STREQ(expected.code_red_metainstaller_path,
- actual.code_red_metainstaller_path);
- EXPECT_STREQ(expected.offline_dir, actual.offline_dir);
-
- VerifyCommandLineExtraArgs(expected.extra, actual.extra);
-}
-
-void VerifyArgsWithSingleYouTubeUploaderEnApp(
- const CommandLineArgs& expected_without_app,
- const CommandLineArgs& actual,
- bool expect_app_args,
- bool expect_language) {
- CommandLineArgs expected(expected_without_app);
-
- const GUID expected_guid = {0xA4F7B07B, 0xB9BD, 0x4A33,
- {0xB1, 0x36, 0x96, 0xD2, 0xAD, 0xFB, 0x60, 0xCB}};
- CommandLineAppArgs app_args;
- app_args.app_guid = expected_guid;
- app_args.app_name = _T("YouTubeUploader");
- app_args.needs_admin = NEEDS_ADMIN_NO;
- if (expected.extra_args_str.IsEmpty()) {
- expected.extra_args_str = YOUTUBEUPLOADEREN_TAG_WITHOUT_QUOTES;
- }
- if (expect_language) {
- expected.extra.language = _T("en");
- }
- if (expect_app_args) {
- expected.app_args_str =
- YOUTUBEUPLOADEREN_APP_ARGS_WITHOUT_QUOTES;
- app_args.encoded_installer_data = _T("YouTube%20Uploader%20Data");
- }
-
- expected.extra.apps.push_back(app_args);
- expected.extra.bundle_name = _T("YouTubeUploader");
- VerifyCommandLineArgs(expected, actual);
-}
-
-} // namespace
-
-void VerifyCommandLineExtraArgs(const CommandLineExtraArgs& expected_val,
- const CommandLineExtraArgs& actual_val) {
- EXPECT_STREQ(expected_val.bundle_name, actual_val.bundle_name);
- EXPECT_STREQ(GuidToString(expected_val.installation_id),
- GuidToString(actual_val.installation_id));
- EXPECT_STREQ(expected_val.brand_code, actual_val.brand_code);
- EXPECT_STREQ(expected_val.client_id, actual_val.client_id);
- EXPECT_STREQ(expected_val.experiment_labels,
- actual_val.experiment_labels);
- EXPECT_STREQ(expected_val.referral_id, actual_val.referral_id);
- EXPECT_STREQ(expected_val.language, actual_val.language);
- EXPECT_EQ(expected_val.browser_type, actual_val.browser_type);
- EXPECT_EQ(expected_val.usage_stats_enable, actual_val.usage_stats_enable);
- EXPECT_EQ(expected_val.runtime_only, actual_val.runtime_only);
-
- EXPECT_EQ(expected_val.apps.size(), actual_val.apps.size());
-
- for (size_t i = 0; i < actual_val.apps.size(); ++i) {
- CommandLineAppArgs expected = expected_val.apps[i];
- CommandLineAppArgs actual = actual_val.apps[i];
-
- EXPECT_STREQ(GuidToString(expected.app_guid),
- GuidToString(actual.app_guid));
- EXPECT_STREQ(expected.app_name, actual.app_name);
- EXPECT_EQ(expected.needs_admin, actual.needs_admin);
- EXPECT_STREQ(expected.ap, actual.ap);
- EXPECT_STREQ(expected.tt_token, actual.tt_token);
- EXPECT_STREQ(expected.encoded_installer_data,
- actual.encoded_installer_data);
- EXPECT_STREQ(expected.install_data_index, actual.install_data_index);
- EXPECT_STREQ(expected.experiment_labels, actual.experiment_labels);
- }
-}
-
-class CommandLineTest : public testing::Test {
- protected:
- CommandLineArgs args_;
- CommandLineArgs expected_;
-};
-
-TEST(CommandLineSimpleTest, GetCmdLineTail1) {
- EXPECT_STREQ(_T(""), GetCmdLineTail(_T("")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail2) {
- EXPECT_STREQ(_T(""), GetCmdLineTail(_T("a")));
-}
-TEST(CommandLineSimpleTest, GetCmdLineTail3) {
- EXPECT_STREQ(_T(""), GetCmdLineTail(_T("goopdate.exe")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail4) {
- // Double quotes.
- EXPECT_STREQ(_T(""), GetCmdLineTail(_T("\"Google Update.exe\"")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail5) {
- // Argument.
- EXPECT_STREQ(_T("foobar"), GetCmdLineTail(_T("goopdate.exe foobar")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail6) {
- // Double quotes and argument.
- EXPECT_STREQ(_T("foobar"),
- GetCmdLineTail(_T("\"Google Update.exe\" foobar")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail7) {
- // Double quotes and inner double quote and argument.
- EXPECT_STREQ(_T("foobar"),
- GetCmdLineTail(_T("\"Google\"\" Update.exe\" foobar")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail8) {
- // Double quotes and two arguments.
- EXPECT_STREQ(_T("foo bar"),
- GetCmdLineTail(_T("\"Google Update.exe\" foo bar")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail9) {
- // Double quotes and one argument with quotes.
- EXPECT_STREQ(_T("\"foo bar\""),
- GetCmdLineTail(_T("\"Google Update.exe\" \"foo bar\"")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail10) {
- // \t as white space.
- EXPECT_STREQ(_T("foo bar"),
- GetCmdLineTail(_T("\"Google Update.exe\"\tfoo bar")));
-}
-
-TEST(CommandLineSimpleTest, GetCmdLineTail11) {
- // Trailing space.
- EXPECT_STREQ(_T("foo bar "),
- GetCmdLineTail(_T("\"Google Update.exe\" foo bar ")));
-}
-
-//
-// This block contains the positive test cases for each of the command lines.
-// If you add a new command line parameter permutation, add a test case here.
-//
-
-// TODO(omaha): Add some negative failure cases to the command lines (like
-// /install without "extraargs").
-
-// TODO(omaha): This is an Omaha1 back-compat issue. Omaha2 should _never_
-// call googleupdate.exe with no arguments. So when we stop supporting Omaha1
-// handoffs we should remove this support.
- // Parse empty command line.
-TEST_F(CommandLineTest, ParseCommandLine_Empty) {
- const TCHAR* kCmdLine = _T("");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_NOARGS;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path>
-// Remember that by convention the OS is passing us the program executable
-// name as the first token in the command line and the parsing code skips that.
-TEST_F(CommandLineTest, ParseCommandLine_ProgramNameOnly) {
- const TCHAR* kCmdLine = _T("goopdate.exe");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_NOARGS;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /svc
-TEST_F(CommandLineTest, ParseCommandLine_Svc) {
- const TCHAR* kCmdLine = _T("\"C:\\Program Files\\Google\\Common\\Update\\")
- _T("1.0.18.0\\goopdate.exe\" /svc");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_SERVICE;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /medsvc
-TEST_F(CommandLineTest, ParseCommandLine_MedSvc) {
- const TCHAR* kCmdLine = _T("\"C:\\Program Files\\Google\\Common\\Update\\")
- _T("1.0.18.0\\goopdate.exe\" /medsvc");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_MEDIUM_SERVICE;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> -Embedding. The -Embedding text is injected via COM.
-TEST_F(CommandLineTest, ParseCommandLine_Server) {
- const TCHAR* kCmdLine = _T("goopdate.exe -Embedding");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_COMSERVER;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /broker. Used for the special COM broker mode.
-TEST_F(CommandLineTest, ParseCommandLine_Broker) {
- const TCHAR* kCmdLine = _T("goopdate.exe /broker");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_COMBROKER;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /ondemand.
-TEST_F(CommandLineTest, ParseCommandLine_OnDemand) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ondemand");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_ONDEMAND;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /install "extraargs"
-// Also tests that bundle_name takes the first app's appname when no bundlename
-// is specified.
-TEST_F(CommandLineTest, ParseCommandLine_Install) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&")
- _T("appguid={C7A9A2F5-C4F9-42d3-8A8B-55086A205468}&")
- _T("appname=TestApp&needsadmin=true&lang=en\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
-
- expected_.extra_args_str = _T("appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&")
- _T("appguid=")
- _T("{C7A9A2F5-C4F9-42d3-8A8B-55086A205468}&")
- _T("appname=TestApp&needsadmin=true&lang=en");
- CommandLineAppArgs app_args;
- const GUID expected_guid = {0xA4F7B07B, 0xB9BD, 0x4A33,
- {0xB1, 0x36, 0x96, 0xD2, 0xAD, 0xFB, 0x60, 0xCB}};
- app_args.app_guid = expected_guid;
- app_args.app_name = _T("YouTubeUploader");
- app_args.needs_admin = NEEDS_ADMIN_NO;
- expected_.extra.apps.push_back(app_args);
-
- CommandLineAppArgs app_args1;
- app_args1.app_guid =
- StringToGuid(_T("{C7A9A2F5-C4F9-42d3-8A8B-55086A205468}"));
- app_args1.app_name = _T("TestApp");
- app_args1.needs_admin = NEEDS_ADMIN_YES;
- expected_.extra.apps.push_back(app_args1);
-
- expected_.extra.bundle_name = _T("YouTubeUploader");
- expected_.extra.language = _T("en");
-
- VerifyCommandLineArgs(expected_, args_);
-
- EXPECT_STREQ(_T("YouTubeUploader"), args_.extra.bundle_name);
-}
-
-// Parse: <path> /install "bundlename=My%20Bundle&extraargs"
-// Tests bundlename override of appname.
-TEST_F(CommandLineTest, ParseCommandLine_Install_BundleName) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ")
- _T("\"bundlename=My%20Bundle&")
- _T("appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
-
- expected_.extra_args_str = _T("bundlename=My%20Bundle&appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&");
- CommandLineAppArgs app_args;
- const GUID expected_guid = {0xA4F7B07B, 0xB9BD, 0x4A33,
- {0xB1, 0x36, 0x96, 0xD2, 0xAD, 0xFB, 0x60, 0xCB}};
- app_args.app_guid = expected_guid;
- app_args.app_name = _T("YouTubeUploader");
- app_args.needs_admin = NEEDS_ADMIN_NO;
- expected_.extra.apps.push_back(app_args);
-
- expected_.extra.bundle_name = _T("My Bundle");
-
- VerifyCommandLineArgs(expected_, args_);
-
- EXPECT_STREQ(_T("My Bundle"), args_.extra.bundle_name);
-}
-
-// Parse: <path> /install "extraargs" /oem
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithOem) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /oem");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" [/oem
-// This tests how we handle a switch with a bracket, which represents optional
-// parameters in a rule, when it appears in an actual command line.
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithOemIgnored) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" [/oem");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = false;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /appargs <appargs>
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithAppArgs) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS;
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /install "extraargs" /oem /appargs <appargs>
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithOemAppArgs) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /oem")
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS;
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /install "extraargs" /appargs <appargs> /silent
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithAppArgsSilent) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /install "extraargs" /oem /appargs <appargs> /silent
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithOemAppArgsSilent) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /oem")
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = true;
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse:
-// <path> /install "extraargs" /oem /appargs <appargs> /silent /eularequired
-TEST_F(CommandLineTest,
- ParseCommandLine_InstallWithOemAppArgsSilentEulaRequired) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /oem")
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /silent")
- _T(" /eularequired");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = true;
- expected_.is_silent_set = true;
- expected_.is_eula_required_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /install "extraargs" /eularequired
-TEST_F(CommandLineTest, ParseCommandLine_InstallEulaRequired) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /eularequired");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_eula_required_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /oem /installsource oneclick
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithOemAndSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /oem")
- _T(" /installsource oneclick");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_oem_set = true;
- expected_.install_source = _T("oneclick");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /installsource oneclick
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource oneclick");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.install_source = _T("oneclick");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /silent
-TEST_F(CommandLineTest, ParseCommandLine_InstallSilent) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /silent /oem
-TEST_F(CommandLineTest, ParseCommandLine_InstallSilentWithOem) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /silent")
- _T(" /oem");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_silent_set = true;
- expected_.is_oem_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /installsource oneclick /silent
-TEST_F(CommandLineTest, ParseCommandLine_InstallSilentWithSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource oneclick")
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.install_source = _T("oneclick");
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /installelevated
-TEST_F(CommandLineTest, ParseCommandLine_InstallElevated) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /installelevated");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_install_elevated = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /installelevated /installsource oneclick
-TEST_F(CommandLineTest, ParseCommandLine_InstallElevatedWithSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /installelevated /installsource oneclick");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.is_install_elevated = true;
- expected_.install_source = _T("oneclick");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /install "extraargs" /sessionid "guid"
-TEST_F(CommandLineTest, ParseCommandLine_InstallSessionId) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ") YOUTUBEUPLOADEREN_TAG
- _T(" /sessionid \"{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
- expected_.session_id = _T("{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /ig "extraargs"
-TEST_F(CommandLineTest, ParseCommandLine_LegacyOmaha2Ig) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ig ") YOUTUBEUPLOADEREN_TAG;
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /handoff "extraargs"
-TEST_F(CommandLineTest, ParseCommandLine_Handoff) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG;
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /offlinedir "c:\dir\ "
-TEST_F(CommandLineTest, ParseCommandLine_OfflineDirTrailingBackslashSpace) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /offlinedir \"c:\\offline dir\\ \"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_offline_set = true;
- expected_.offline_dir = _T("c:\\offline dir");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /offlinedir "c:\dir\\"
-TEST_F(CommandLineTest,
- ParseCommandLine_OfflineDirTrailingDoubleBackslashNoSpace) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /offlinedir \"c:\\offline dir\\\\\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_offline_set = true;
- expected_.offline_dir = _T("c:\\offline dir");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /offlinedir "c:\dir\"
-TEST_F(CommandLineTest, ParseCommandLine_OfflineDirTrailingBackslashNoSpace) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /offlinedir \"c:\\offline dir\\\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_offline_set = true;
- expected_.offline_dir = _T("c:\\offline dir");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /installsource "asd"
-TEST_F(CommandLineTest, ParseCommandLine_HandoffWithSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource oneclick");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("oneclick");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /installsource offline /offlineinstall
-TEST_F(CommandLineTest, ParseCommandLine_HandoffWithSourceOffline) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource offline")
- _T(" /offlineinstall");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("offline");
- expected_.is_offline_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /appargs <appargs>
-// /installsource offline /offlinedir "dir"
-TEST_F(CommandLineTest, ParseCommandLine_HandoffWithAppArgsSourceOffline) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /installsource offline")
- _T(" /offlinedir \"c:\\offline_dir\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("offline");
- expected_.is_offline_set = true;
- expected_.offline_dir = _T("c:\\offline_dir");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /handoff "extraargs" /silent
-TEST_F(CommandLineTest, ParseCommandLine_HandoffSilent) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /silent /offlineinstall
-TEST_F(CommandLineTest,
- ParseCommandLine_HandoffSilentOfflineWithoutInstallSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /silent")
- _T(" /offlineinstall");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_silent_set = true;
- expected_.is_offline_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /installsource "asd" /silent
-TEST_F(CommandLineTest, ParseCommandLine_HandoffSilentWithSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource oneclick")
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("oneclick");
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse:
-// <path> /handoff "extraargs" /installsource offline /silent /offlineinstall
-TEST_F(CommandLineTest, ParseCommandLine_HandoffSilentWithSourceOffline) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /installsource offline")
- _T(" /silent")
- _T(" /offlineinstall");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("offline");
- expected_.is_silent_set = true;
- expected_.is_offline_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /appargs <appargs>
-TEST_F(CommandLineTest, ParseCommandLine_HandoffWithAppArgs) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS;
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /handoff "extraargs" /appargs <appargs> /silent
-TEST_F(CommandLineTest, ParseCommandLine_HandoffSilentWithAppArgs) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /silent");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_silent_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /handoff "extraargs" /appargs <appargs>
-// /installsource offline /silent /offlineinstall
-TEST_F(CommandLineTest,
- ParseCommandLine_HandoffSilentWithAppArgsSourceOffline) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /installsource offline")
- _T(" /silent")
- _T(" /offlineinstall");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("offline");
- expected_.is_silent_set = true;
- expected_.is_offline_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /handoff "extraargs" /appargs <appargs>
-// /installsource offline /silent /offlineinstall /eularequired
-TEST_F(CommandLineTest,
- ParseCommandLine_HandoffSilentWithAppArgsSourceOfflineEulaRequired) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /appargs ") YOUTUBEUPLOADEREN_APP_ARGS
- _T(" /installsource offline")
- _T(" /silent")
- _T(" /offlineinstall")
- _T(" /eularequired");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.install_source = _T("offline");
- expected_.is_silent_set = true;
- expected_.is_offline_set = true;
- expected_.is_eula_required_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, true, true);
-}
-
-// Parse: <path> /handoff "extraargs" /eularequired
-TEST_F(CommandLineTest, ParseCommandLine_HandoffEulaRequired) {
- const TCHAR* kCmdLine = _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /eularequired");
-
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.is_eula_required_set = true;
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /handoff "extraargs" /sessionid "guid"
-TEST_F(CommandLineTest, ParseCommandLine_HandoffSessionId) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /handoff ") YOUTUBEUPLOADEREN_TAG
- _T(" /sessionid \"{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}\"");
-
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_HANDOFF_INSTALL;
- expected_.session_id = _T("{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, true);
-}
-
-// Parse: <path> /ug
-TEST_F(CommandLineTest, ParseCommandLine_LegacyOmaha2Ug) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ug");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /ua
-TEST_F(CommandLineTest, ParseCommandLine_UaNoInstallSource) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ua");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UA;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /ua /installsource core
-TEST_F(CommandLineTest, ParseCommandLine_Ua) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ua /installsource core");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UA;
- expected_.install_source = _T("core");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /update
-TEST_F(CommandLineTest, ParseCommandLine_Update) {
- const TCHAR* kCmdLine = _T("goopdate.exe /update");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UPDATE;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /update /sessionid "guid"
-TEST_F(CommandLineTest, ParseCommandLine_UpdateSessionId) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /update");
- _T(" /sessionid \"{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UPDATE;
- expected_.session_id = _T("{756dfdc2-0ef0-44b7-bfb1-21a4be6a1213}");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /netdiags
-TEST_F(CommandLineTest, ParseCommandLine_NetDiags) {
- const TCHAR* kCmdLine = _T("goopdate.exe /netdiags");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_NETDIAGS;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /regserver
-TEST_F(CommandLineTest, ParseCommandLine_Regserver) {
- const TCHAR* kCmdLine = _T("goopdate.exe /regserver");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REGSERVER;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /unregserver
-TEST_F(CommandLineTest, ParseCommandLine_Unregserver) {
- const TCHAR* kCmdLine = _T("goopdate.exe /unregserver");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UNREGSERVER;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /registerproduct
-TEST_F(CommandLineTest, ParseCommandLine_RegisterProduct) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /registerproduct ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REGISTER_PRODUCT;
- expected_.extra_args_str = _T("appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, false);
-}
-
-// Parse: <path> /registerproduct /installsource enterprisemsi
-TEST_F(CommandLineTest, ParseCommandLine_RegisterProductWithInstallSource) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /registerproduct ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"")
- _T(" /installsource enterprisemsi");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
- expected_.mode = COMMANDLINE_MODE_REGISTER_PRODUCT;
- expected_.install_source = _T("enterprisemsi");
- expected_.extra_args_str = _T("appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, false);
-}
-
-// Parse: <path> /unregisterproduct
-TEST_F(CommandLineTest, ParseCommandLine_UnregisterProduct) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /unregisterproduct ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UNREGISTER_PRODUCT;
- expected_.extra_args_str = _T("appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False");
- VerifyArgsWithSingleYouTubeUploaderEnApp(expected_, args_, false, false);
-}
-
-// Parse: <path> /c
-TEST_F(CommandLineTest, ParseCommandLine_Core) {
- const TCHAR* kCmdLine = _T("goopdate.exe /c");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_CORE;
- expected_.is_crash_handler_disabled = false;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /c /nocrashserver
-TEST_F(CommandLineTest, ParseCommandLine_CoreNoCrashHandler) {
- const TCHAR* kCmdLine = _T("goopdate.exe /c /nocrashserver");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_CORE;
- expected_.is_crash_handler_disabled = true;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /crash
-TEST_F(CommandLineTest, ParseCommandLine_Crash) {
- const TCHAR* kCmdLine = _T("goopdate.exe /crash");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_CRASH;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /report crash_file
-TEST_F(CommandLineTest, ParseCommandLine_Report) {
- const TCHAR* kCmdLine = _T("goopdate.exe /report C:\\foo\\crash.dmp");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REPORTCRASH;
- expected_.crash_filename = _T("C:\\foo\\crash.dmp");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /report crash_file /machine
-TEST_F(CommandLineTest, ParseCommandLine_ReportMachine) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /report C:\\foo\\crash.dmp /machine");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REPORTCRASH;
- expected_.crash_filename = _T("C:\\foo\\crash.dmp");
- expected_.is_machine_set = true;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /report crash_file
-TEST_F(CommandLineTest, ParseCommandLine_ReportWithCustomInfo) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /report C:\\foo.dmp /custom_info_filename C:\\foo.txt");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REPORTCRASH;
- expected_.crash_filename = _T("C:\\foo.dmp");
- expected_.custom_info_filename = _T("C:\\foo.txt");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /report /i crash_file
-TEST_F(CommandLineTest, ParseCommandLine_ReportInteractive) {
- const TCHAR* kCmdLine = _T("goopdate.exe /report /i C:\\foo\\crash.dmp");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REPORTCRASH;
- expected_.is_interactive_set = true;
- expected_.crash_filename = _T("C:\\foo\\crash.dmp");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /report /i crash_file /machine
-TEST_F(CommandLineTest, ParseCommandLine_ReportMachineInteractive) {
- const TCHAR*
- kCmdLine = _T("goopdate.exe /report /i C:\\foo\\crash.dmp /machine");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_REPORTCRASH;
- expected_.is_machine_set = true;
- expected_.is_interactive_set = true;
- expected_.crash_filename = _T("C:\\foo\\crash.dmp");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_CodeRedCheck) {
- const TCHAR* kCmdLine = _T("goopdate.exe /cr");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_CODE_RED_CHECK;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_WebPlugin) {
- const TCHAR* kCmdLine = _T("goopdate.exe /pi \"http://gears.google.com/\" ")
- _T("\"/install foo\" /installsource oneclick ");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_WEBPLUGIN;
- expected_.webplugin_urldomain = _T("http://gears.google.com/");
- expected_.webplugin_args = _T("/install foo");
- expected_.install_source = _T("oneclick");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_WebPluginUrlEscaped) {
- const TCHAR* kCmdLine = _T("goopdate.exe /pi \"http://gears.google.com/\" ")
- _T("\"/install%20foo\" /installsource oneclick ");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_WEBPLUGIN;
- expected_.webplugin_urldomain = _T("http://gears.google.com/");
- expected_.webplugin_args = _T("/install foo");
- expected_.install_source = _T("oneclick");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_WebPluginTestStringTrim) {
- const TCHAR* kCmdLine = _T("goopdate.exe /pi ")
- _T("\" http://gears.google.com/ \" ")
- _T("\"/install foo\" /installsource oneclick ");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_WEBPLUGIN;
- expected_.webplugin_urldomain = _T("http://gears.google.com/");
- expected_.webplugin_args = _T("/install foo");
- expected_.install_source = _T("oneclick");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_LegacyOmaha1UiNoLanguage) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ui \"manifestfilename.xml\"");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_LegacyOmaha1UiWithLanguage) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /ui /lang fr \"manifestfilename.xml\"");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_LegacyOmaha1UiUser) {
- const TCHAR* kCmdLine = _T("goopdate.exe /uiuser file.gup");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_Recover) {
- const TCHAR* kCmdLine = _T("goopdate.exe /recover repairfile.exe");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_RECOVER;
- expected_.code_red_metainstaller_path = _T("repairfile.exe");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_RecoverMachine) {
- const TCHAR* kCmdLine = _T("goopdate.exe /recover /machine repfile.exe");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_RECOVER;
- expected_.is_machine_set = true;
- expected_.code_red_metainstaller_path = _T("repfile.exe");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /uninstall
-TEST_F(CommandLineTest, ParseCommandLine_Uninstall) {
- const TCHAR* kCmdLine = _T("goopdate.exe /uninstall");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_UNINSTALL;
- VerifyCommandLineArgs(expected_, args_);
-}
-
-// Parse: <path> /ping foo
-TEST_F(CommandLineTest, ParseCommandLine_Ping) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ping foo");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_PING;
- expected_.ping_string = _T("foo");
- VerifyCommandLineArgs(expected_, args_);
-}
-
-//
-// These are additional failure cases against the command line parsing.
-// Everything from here on down should fail ParseCommandLine().
-//
-
-
-// Parse: <path> manifest_file
-TEST_F(CommandLineTest, ParseCommandLine_GoopdateJustArg) {
- const TCHAR* kCmdLine = _T("goopdate.exe \"foo bar\"");
- ExpectAsserts expect_asserts;
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /install manifest_file manifest_file
-// Fails since this is an invalid command line set.
-TEST_F(CommandLineTest, ParseCommandLine_Invalid) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install \"foo bar\" foobar");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /recover
-TEST_F(CommandLineTest, Recover_WithoutFile) {
- const TCHAR* kCmdLine = _T("goopdate.exe /recover");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /machine
-TEST_F(CommandLineTest, MachineWithoutRecover) {
- const TCHAR* kCmdLine = _T("goopdate.exe /machine");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, ExtraArgsHasDoubleQuoteInTheMiddle) {
- const TCHAR* kCmdLine = _T("goopdate.exe /install \"some_\"file\"");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, CommandsNotSeparatedBySpaces) {
- const TCHAR* kCmdLine = _T("goopdate.exe /recover/machine");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, CommandsDoNotHaveForwardSlashes) {
- const TCHAR* kCmdLine = _T("goopdate.exe recover machine");
- ExpectAsserts expect_asserts;
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, UnknownParameter) {
- const TCHAR* kCmdLine = _T("goopdate.exe /someunknowncommand");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, UiWithLangNoLanguage) {
- const TCHAR* kCmdLine = _T("goopdate.exe /ui /lang \"manifestfilename.xml\"");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, WebPluginInstallSourceInvalid_IncorrectValue) {
- const TCHAR* kCmdLine = _T("goopdate.exe /installsource invalid /pi ")
- _T("\" http://gears.google.com/ \" ");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, WebPluginInstallSourceInvalid_Empty) {
- const TCHAR* kCmdLine = _T("goopdate.exe /installsource /pi ")
- _T("\" http://gears.google.com/ \" ");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /handoff "extraargs" /lang "en"
-TEST_F(CommandLineTest, ParseCommandLine_HandoffLegacyOmaha1ToOmaha2) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /handoff ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"")
- _T(" /lang en");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /handoff "extraargs" /installsource "asd" /lang "en"
-TEST_F(CommandLineTest,
- ParseCommandLine_HandoffWithSourceLegacyOmaha1ToOmaha2) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /handoff ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"")
- _T(" /installsource oneclick /lang en");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /handoff "extraargs" /installsource "oneclick" /lang "en"
-TEST_F(CommandLineTest,
- ParseCommandLine_HandoffWithSourceLegacyOmaha1ToOmaha2Both) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /handoff ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&lang=en\"")
- _T(" /installsource oneclick /lang en");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /install "extraargs" /lang en
-TEST_F(CommandLineTest, ParseCommandLine_InstallLegacyOmaha1) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False&")
- _T("appguid={C7A9A2F5-C4F9-42d3-8A8B-55086A205468}&")
- _T("appname=TestApp&needsadmin=true\" /lang en");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-// Parse: <path> /install "extraargs" /installsource oneclick /lang en
-TEST_F(CommandLineTest, ParseCommandLine_InstallWithSourceLegacyOmaha1) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ")
- _T("\"appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=False\"")
- _T(" /installsource oneclick /lang en");
- EXPECT_FAILED(ParseCommandLine(kCmdLine, &args_));
-}
-
-TEST_F(CommandLineTest, ParseCommandLine_NeedsAdmin_Prefers) {
- const TCHAR* kCmdLine =
- _T("goopdate.exe /install ")
- _T("\"bundlename=My%20Bundle&")
- _T("appguid={A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=Prefers&\"");
- EXPECT_SUCCEEDED(ParseCommandLine(kCmdLine, &args_));
-
- expected_.mode = COMMANDLINE_MODE_INSTALL;
-
- expected_.extra_args_str = _T("bundlename=My%20Bundle&appguid=")
- _T("{A4F7B07B-B9BD-4a33-B136-96D2ADFB60CB}&")
- _T("appname=YouTubeUploader&needsadmin=Prefers&");
- CommandLineAppArgs app_args;
- const GUID expected_guid = {0xA4F7B07B, 0xB9BD, 0x4A33,
- {0xB1, 0x36, 0x96, 0xD2, 0xAD, 0xFB, 0x60, 0xCB}};
- app_args.app_guid = expected_guid;
- app_args.app_name = _T("YouTubeUploader");
- app_args.needs_admin = NEEDS_ADMIN_PREFERS;
- expected_.extra.apps.push_back(app_args);
-
- expected_.extra.bundle_name = _T("My Bundle");
-
- VerifyCommandLineArgs(expected_, args_);
-}
-
-} // namespace omaha
« no previous file with comments | « common/command_line_builder_unittest.cc ('k') | common/config_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698