Android-cuttlefish cvd tool
Namespaces | Classes | Typedefs | Functions | Variables
cuttlefish::selector Namespace Reference

Namespaces

namespace  anonymous_namespace{creation_analyzer.cpp}
 
namespace  anonymous_namespace{creation_analyzer_helper.cpp}
 
namespace  anonymous_namespace{creation_analyzer_test.cpp}
 
namespace  anonymous_namespace{instance_database_helper.cpp}
 
namespace  anonymous_namespace{selector.cpp}
 
namespace  anonymous_namespace{start_selector_parser.cpp}
 

Classes

struct  CreationAnalyzerParam
 
class  CreationInfoGenTest
 
class  CvdInstanceDatabaseTest
 
class  CvdInstanceGroupUnitTest
 
struct  Expected
 
struct  ExpectedOutput
 
struct  GroupCreationInfo
 
class  HomeTest
 
class  HostArtifactsTest
 
struct  InputOutput
 
class  InstanceIdTest
 
struct  InstanceIdTestInput
 
class  InvalidNamesTest
 
class  InvalidSubCmdTest
 
struct  OutputInfo
 
struct  PerInstanceInfo
 
class  SelectorFlags
 
struct  SelectorOptions
 
struct  SeparatedArguments
 
class  StartSelectorParser
 
class  ValidNamesTest
 
class  ValidSubCmdTest
 

Typedefs

using CvdInstanceDatabaseJsonTest = CvdInstanceDatabaseTest
 

Functions

Result< SeparatedArgumentsSeparateArguments (const std::vector< std::string > &input_args)
 
Result< GroupCreationInfoAnalyzeCreation (const CreationAnalyzerParam &params, InstanceLockFileManager &lock_file_manager)
 
 TEST_P (HomeTest, HomeTest)
 
 INSTANTIATE_TEST_SUITE_P (CvdCreationInfo, HomeTest, home_test_inputs)
 
 TEST_P (HostArtifactsTest, HostArtifactsTest)
 
 INSTANTIATE_TEST_SUITE_P (CvdCreationInfo, HostArtifactsTest, host_out_test_inputs)
 
 TEST_P (InvalidSubCmdTest, InvalidSubCmdTest)
 
 INSTANTIATE_TEST_SUITE_P (CvdCreationInfo, InvalidSubCmdTest, invalid_sub_cmd_test_inputs)
 
 TEST_P (ValidSubCmdTest, ValidSubCmdTest)
 
 INSTANTIATE_TEST_SUITE_P (CvdCreationInfo, ValidSubCmdTest, valid_sub_cmd_test_inputs)
 
 TEST (AutoHomeTest, DefaultFailAtSecondTrialTest)
 
 TEST (AutoHomeTest, DefaultFollowedByNonDefaultTest)
 
std::optional< std::string > OverridenHomeDirectory (const cvd_common::Envs &env)
 
 TEST_P (InstanceIdTest, InstanceIdCalculation)
 
 INSTANTIATE_TEST_SUITE_P (CvdParser, InstanceIdTest, testing::Values(InstanceIdTestInput{.cuttlefish_instance=std::nullopt,.expected_ids=std::nullopt,.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{8},.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cmd_args="--num_instances=2",.expected_ids=std::nullopt,.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{.cmd_args="--num_instances=2",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{8, 9},.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--base_instance_num=10 --num_instances=2",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{10, 11},.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{.cmd_args="--instance_nums 2",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2},.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cmd_args="--instance_nums 2,5,6",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.selector_args="--instance_name=c-1,c-3,c-5",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{.selector_args="--instance_name=c-1,c-3,c-5",.cuttlefish_instance=std::nullopt,.expected_ids=std::nullopt,.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=7",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false}, InstanceIdTestInput{ .cmd_args="--num_instances=3 --instance_nums 2,5,6",.selector_args="--instance_name=c-1,c-3",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --base_instance_num=7",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false}))
 
 TEST_P (ValidNamesTest, ValidInputs)
 
 TEST_P (ValidNamesTest, FieldsNoSubstring)
 
 INSTANTIATE_TEST_SUITE_P (CvdParser, ValidNamesTest, testing::Values(InputOutput{.input="--group_name=cf",.expected=ExpectedOutput{.group_name="cf"}}, InputOutput{.input="--instance_name=cvd,cf",.expected=ExpectedOutput{.per_instance_names=std::vector< std::string >{ "cvd", "cf"}}}, InputOutput{.input="--instance_name=09-1,tv-2 --group_name cf",.expected=ExpectedOutput{.group_name="cf",.per_instance_names=std::vector< std::string >{ "09-1", "tv-2"}}}, InputOutput{ .input="--group_name=cf --instance_name 09",.expected=ExpectedOutput{.group_name="cf",.per_instance_names=std::vector< std::string >{"09"}}}, InputOutput{.input="--group_name=my_cool --instance_name=phone-1,tv",.expected=ExpectedOutput{.group_name="my_cool",.per_instance_names=std::vector< std::string >{ "phone-1", "tv"}}}, InputOutput{ .input="--instance_name=my-cool",.expected=ExpectedOutput{ .per_instance_names=std::vector< std::string >{"my-cool"}}}))
 
 TEST_P (InvalidNamesTest, InvalidInputs)
 
 INSTANTIATE_TEST_SUITE_P (CvdParser, InvalidNamesTest, testing::Values("--group_name", "--group_name=?34", "--group_name=ab-cd", "--group_name=3a", "--instance_name", "--instance_name=*7a"))
 
Result< LocalInstanceGroupSelectGroup (const InstanceManager &instance_manager, const CommandRequest &request)
 
Result< std::pair< LocalInstance, LocalInstanceGroup > > SelectInstance (const InstanceManager &instance_manager, const CommandRequest &request)
 
Result< std::string > HandleGroupName (const std::string &group_name)
 
Result< std::vector< std::string > > HandleInstanceNames (const std::string &per_instance_names)
 
Result< SelectorOptionsHandleNameOpts (const std::optional< std::string > &group_name, const std::optional< std::string > &instance_names)
 
Result< SelectorOptionsParseCommonSelectorArguments (cvd_common::Args &args)
 
Result< std::vector< std::string > > SeparateButWithNoEmptyToken (const std::string &input, const std::string &delimiter)
 
template<typename T >
Result< void > FilterSelectorFlag (std::vector< std::string > &args, const std::string &flag_name, std::optional< T > &value_opt)
 
static bool Unique (const std::vector< unsigned > &v)
 
static Result< unsigned > ParseNaturalNumber (const std::string &token)
 
static Result< std::vector< unsigned > > ParseInstanceNums (const std::string &instance_nums_flag)
 
static std::string GroupName ()
 
static std::string HomeDir ()
 
static std::string TestBinDir ()
 
 TEST_F (CvdInstanceGroupUnitTest, AddInstancesAndListAll)
 
 TEST_F (CvdInstanceGroupUnitTest, SearchById)
 
cvd::Instance InstanceProto (unsigned id, const std::string &name)
 
cvd::InstanceGroup GroupProtoWithInstances (const std::string &name, const std::string &home_dir, const std::string &host_path, const std::string &product_path, const std::vector< std::pair< unsigned, std::string > > &instances)
 
 TEST_F (CvdInstanceDatabaseTest, Empty)
 
 TEST_F (CvdInstanceDatabaseTest, AddWithInvalidGroupInfo)
 
 TEST_F (CvdInstanceDatabaseTest, AddWithValidGroupInfo)
 
 TEST_F (CvdInstanceDatabaseTest, AddToTakenHome)
 
 TEST_F (CvdInstanceDatabaseTest, Clear)
 
 TEST_F (CvdInstanceDatabaseTest, SearchGroups)
 
 TEST_F (CvdInstanceDatabaseTest, RemoveGroup)
 
 TEST_F (CvdInstanceDatabaseTest, AddInstances)
 
 TEST_F (CvdInstanceDatabaseTest, AddInstancesInvalid)
 
 TEST_F (CvdInstanceDatabaseTest, FindByInstanceId)
 
 TEST_F (CvdInstanceDatabaseTest, FindByPerInstanceName)
 
 TEST_F (CvdInstanceDatabaseTest, FindGroupByPerInstanceName)
 
 TEST_F (CvdInstanceDatabaseTest, AddInstancesTogether)
 
 TEST_F (CvdInstanceDatabaseJsonTest, DumpLoadDumpCompare)
 
 TEST_F (CvdInstanceDatabaseTest, UpdateInstances)
 
 TEST (CvdInstanceRecordUnitTest, Fields)
 

Variables

static auto home_test_inputs
 
static auto host_out_test_inputs
 
static auto invalid_sub_cmd_test_inputs
 
static auto & valid_sub_cmd_test_inputs = home_test_inputs
 
constexpr char kGroupNameField [] = "group_name"
 
constexpr char kHomeField [] = "home"
 
constexpr char kInstanceIdField [] = "instance_id"
 
constexpr char kInstanceNameField [] = "instance_name"
 

Typedef Documentation

◆ CvdInstanceDatabaseJsonTest

Function Documentation

◆ AnalyzeCreation()

Result< GroupCreationInfo > cuttlefish::selector::AnalyzeCreation ( const CreationAnalyzerParam ,
InstanceLockFileManager  
)

Instance IDs: Use the InstanceNumCalculator's logic

HOME directory: If given in envs and is different from the system-wide home, use it If not, try ParentOfAutogeneratedHomes()/uid/${group_name}

host_artifacts_path: ANDROID_HOST_OUT must be given.

Group name: if a group name is not given, automatically generate: default_prefix + "_" + one_of_ids

Per-instance name: When not given, use std::string(id) as the per instance name of each

Number of instances: Controlled by –instance_nums, –num_instances, etc. Also controlled by –instance_name

p.s. dependency: (a-->b means b depends on a) group_name --> HOME instance ids --> per_instance_name

◆ FilterSelectorFlag()

template<typename T >
Result< void > cuttlefish::selector::FilterSelectorFlag ( std::vector< std::string > &  args,
const std::string &  flag_name,
std::optional< T > &  value_opt 
)

◆ GroupName()

static std::string cuttlefish::selector::GroupName ( )
static

◆ GroupProtoWithInstances()

cvd::InstanceGroup cuttlefish::selector::GroupProtoWithInstances ( const std::string &  name,
const std::string &  home_dir,
const std::string &  host_path,
const std::string &  product_path,
const std::vector< std::pair< unsigned, std::string > > &  instances 
)

◆ HandleGroupName()

Result< std::string > cuttlefish::selector::HandleGroupName ( const std::string &  group_name)

◆ HandleInstanceNames()

Result< std::vector< std::string > > cuttlefish::selector::HandleInstanceNames ( const std::string &  per_instance_names)

◆ HandleNameOpts()

Result< SelectorOptions > cuttlefish::selector::HandleNameOpts ( const std::optional< std::string > &  group_name,
const std::optional< std::string > &  instance_names 
)

◆ HomeDir()

static std::string cuttlefish::selector::HomeDir ( )
static

◆ InstanceProto()

cvd::Instance cuttlefish::selector::InstanceProto ( unsigned  id,
const std::string &  name 
)

◆ INSTANTIATE_TEST_SUITE_P() [1/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdCreationInfo  ,
HomeTest  ,
home_test_inputs   
)

◆ INSTANTIATE_TEST_SUITE_P() [2/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdCreationInfo  ,
HostArtifactsTest  ,
host_out_test_inputs   
)

◆ INSTANTIATE_TEST_SUITE_P() [3/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdCreationInfo  ,
InvalidSubCmdTest  ,
invalid_sub_cmd_test_inputs   
)

◆ INSTANTIATE_TEST_SUITE_P() [4/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdCreationInfo  ,
ValidSubCmdTest  ,
valid_sub_cmd_test_inputs   
)

◆ INSTANTIATE_TEST_SUITE_P() [5/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdParser  ,
InstanceIdTest  ,
testing::Values(InstanceIdTestInput{.cuttlefish_instance=std::nullopt,.expected_ids=std::nullopt,.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{8},.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cmd_args="--num_instances=2",.expected_ids=std::nullopt,.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{.cmd_args="--num_instances=2",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{8, 9},.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--base_instance_num=10 --num_instances=2",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{10, 11},.requested_num_instances=2,.expected_result=true}, InstanceIdTestInput{.cmd_args="--instance_nums 2",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2},.requested_num_instances=1,.expected_result=true}, InstanceIdTestInput{.cmd_args="--instance_nums 2,5,6",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.selector_args="--instance_name=c-1,c-3,c-5",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{.selector_args="--instance_name=c-1,c-3,c-5",.cuttlefish_instance=std::nullopt,.expected_ids=std::nullopt,.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=3",.cuttlefish_instance="8",.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=true}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --num_instances=7",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false}, InstanceIdTestInput{ .cmd_args="--num_instances=3 --instance_nums 2,5,6",.selector_args="--instance_name=c-1,c-3",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false}, InstanceIdTestInput{ .cmd_args="--instance_nums 2,5,6 --base_instance_num=7",.cuttlefish_instance=std::nullopt,.expected_ids=std::vector< unsigned >{2, 5, 6},.requested_num_instances=3,.expected_result=false})   
)

◆ INSTANTIATE_TEST_SUITE_P() [6/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdParser  ,
InvalidNamesTest  ,
testing::Values("--group_name", "--group_name=?34", "--group_name=ab-cd", "--group_name=3a", "--instance_name", "--instance_name=*7a")   
)

◆ INSTANTIATE_TEST_SUITE_P() [7/7]

cuttlefish::selector::INSTANTIATE_TEST_SUITE_P ( CvdParser  ,
ValidNamesTest  ,
testing::Values(InputOutput{.input="--group_name=cf",.expected=ExpectedOutput{.group_name="cf"}}, InputOutput{.input="--instance_name=cvd,cf",.expected=ExpectedOutput{.per_instance_names=std::vector< std::string >{ "cvd", "cf"}}}, InputOutput{.input="--instance_name=09-1,tv-2 --group_name cf",.expected=ExpectedOutput{.group_name="cf",.per_instance_names=std::vector< std::string >{ "09-1", "tv-2"}}}, InputOutput{ .input="--group_name=cf --instance_name 09",.expected=ExpectedOutput{.group_name="cf",.per_instance_names=std::vector< std::string >{"09"}}}, InputOutput{.input="--group_name=my_cool --instance_name=phone-1,tv",.expected=ExpectedOutput{.group_name="my_cool",.per_instance_names=std::vector< std::string >{ "phone-1", "tv"}}}, InputOutput{ .input="--instance_name=my-cool",.expected=ExpectedOutput{ .per_instance_names=std::vector< std::string >{"my-cool"}}})   
)

◆ OverridenHomeDirectory()

std::optional< std::string > cuttlefish::selector::OverridenHomeDirectory ( const cvd_common::Envs env)

◆ ParseCommonSelectorArguments()

Result< SelectorOptions > cuttlefish::selector::ParseCommonSelectorArguments ( cvd_common::Args args)

◆ ParseInstanceNums()

static Result< std::vector< unsigned > > cuttlefish::selector::ParseInstanceNums ( const std::string &  instance_nums_flag)
static

◆ ParseNaturalNumber()

static Result< unsigned > cuttlefish::selector::ParseNaturalNumber ( const std::string &  token)
static

◆ SelectGroup()

Result< LocalInstanceGroup > cuttlefish::selector::SelectGroup ( const InstanceManager instance_manager,
const CommandRequest request 
)

◆ SelectInstance()

Result< std::pair< LocalInstance, LocalInstanceGroup > > cuttlefish::selector::SelectInstance ( const InstanceManager instance_manager,
const CommandRequest request 
)

◆ SeparateArguments()

Result< SeparatedArguments > cuttlefish::selector::SeparateArguments ( const std::vector< std::string > &  input_args)

The very first parser for cmdline that separates:

  1. program name/path
  2. cvd specific options such as –clean, selector options, etc
  3. subcmd
  4. subcmd arguments

Note that the user's command line arguments are in this order: $ program_path/name <optional cvd-specific flags> \ subcmd <optional subcmd arguments>

For the parser's sake, there are is another rule.

E.g. cvd –clean start –have –some –args – a b c d e – is basically for subcommands. cvd itself does not use it. If – is within cvd arguments, it is ill-formatted. If it is within subcommands arguments, we simply forward it to the subtool as is.

◆ SeparateButWithNoEmptyToken()

Result< std::vector< std::string > > cuttlefish::selector::SeparateButWithNoEmptyToken ( const std::string &  input,
const std::string &  delimiter 
)

◆ TEST() [1/3]

cuttlefish::selector::TEST ( AutoHomeTest  ,
DefaultFailAtSecondTrialTest   
)

◆ TEST() [2/3]

cuttlefish::selector::TEST ( AutoHomeTest  ,
DefaultFollowedByNonDefaultTest   
)

◆ TEST() [3/3]

cuttlefish::selector::TEST ( CvdInstanceRecordUnitTest  ,
Fields   
)

Note that invalid inputs must be tested at the InstanceDatabase level

◆ TEST_F() [1/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseJsonTest  ,
DumpLoadDumpCompare   
)

◆ TEST_F() [2/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddInstances   
)

◆ TEST_F() [3/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddInstancesInvalid   
)

◆ TEST_F() [4/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddInstancesTogether   
)

◆ TEST_F() [5/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddToTakenHome   
)

◆ TEST_F() [6/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddWithInvalidGroupInfo   
)

◆ TEST_F() [7/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
AddWithValidGroupInfo   
)

◆ TEST_F() [8/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
Clear   
)

◆ TEST_F() [9/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
Empty   
)

◆ TEST_F() [10/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
FindByInstanceId   
)

◆ TEST_F() [11/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
FindByPerInstanceName   
)

◆ TEST_F() [12/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
FindGroupByPerInstanceName   
)

◆ TEST_F() [13/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
RemoveGroup   
)

◆ TEST_F() [14/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
SearchGroups   
)

◆ TEST_F() [15/17]

cuttlefish::selector::TEST_F ( CvdInstanceDatabaseTest  ,
UpdateInstances   
)

◆ TEST_F() [16/17]

cuttlefish::selector::TEST_F ( CvdInstanceGroupUnitTest  ,
AddInstancesAndListAll   
)

◆ TEST_F() [17/17]

cuttlefish::selector::TEST_F ( CvdInstanceGroupUnitTest  ,
SearchById   
)

◆ TEST_P() [1/8]

cuttlefish::selector::TEST_P ( HomeTest  ,
HomeTest   
)

◆ TEST_P() [2/8]

cuttlefish::selector::TEST_P ( HostArtifactsTest  ,
HostArtifactsTest   
)

◆ TEST_P() [3/8]

cuttlefish::selector::TEST_P ( InstanceIdTest  ,
InstanceIdCalculation   
)

◆ TEST_P() [4/8]

cuttlefish::selector::TEST_P ( InvalidNamesTest  ,
InvalidInputs   
)

◆ TEST_P() [5/8]

cuttlefish::selector::TEST_P ( InvalidSubCmdTest  ,
InvalidSubCmdTest   
)

◆ TEST_P() [6/8]

cuttlefish::selector::TEST_P ( ValidNamesTest  ,
FieldsNoSubstring   
)

Note that invalid inputs must be tested at the InstanceDatabase level

◆ TEST_P() [7/8]

cuttlefish::selector::TEST_P ( ValidNamesTest  ,
ValidInputs   
)

◆ TEST_P() [8/8]

cuttlefish::selector::TEST_P ( ValidSubCmdTest  ,
ValidSubCmdTest   
)

◆ TestBinDir()

static std::string cuttlefish::selector::TestBinDir ( )
static

◆ Unique()

static bool cuttlefish::selector::Unique ( const std::vector< unsigned > &  v)
static

Variable Documentation

◆ home_test_inputs

auto cuttlefish::selector::home_test_inputs
static
Initial value:
= testing::Values(
InputOutput{
.cmd_args = "cvd start --daemon",
.selector_args = "--group_name=cf --instance_name=1",
.android_host_out = "/home/user/download",
.home = "/usr/local/home/_fake_user",
.expected_output =
Expected{.output = OutputInfo{.home = "/usr/local/home/_fake_user",
.host_artifacts_path =
"/home/user/download"},
.is_success = true}},
InputOutput{.cmd_args = "cvd start --daemon",
.android_host_out = "/home/user/download",
.home = TestUserHome(),
.expected_output =
Expected{.output = OutputInfo{.home = TestUserHome(),
.host_artifacts_path =
"/home/user/download"},
.is_success = true}},
InputOutput{
.cmd_args = "cvd start --daemon",
.android_host_out = "/home/user/download",
.expected_output = Expected{
.output = OutputInfo{.home = TestUserHome(),
.host_artifacts_path = "/home/user/download"},
.is_success = true}})
std::string TestUserHome()
Definition: creation_analyzer_test.cpp:30

◆ host_out_test_inputs

auto cuttlefish::selector::host_out_test_inputs
static
Initial value:
= testing::Values(
InputOutput{.cmd_args = "cvd start --daemon",
.selector_args = "--group_name=cf --instance_name=1",
.android_host_out = "/home/user/download",
.home = "/home/fake_user",
.expected_output =
Expected{.output = OutputInfo{.home = "/home/fake_user",
.host_artifacts_path =
"/home/user/download"},
.is_success = true}},
InputOutput{.cmd_args = "cvd start --daemon",
.selector_args = "--group_name=cf --instance_name=1",
.home = "/home/fake_user",
.expected_output =
Expected{.output = OutputInfo{.home = "/home/fake_user"},
.is_success = false}})

◆ invalid_sub_cmd_test_inputs

auto cuttlefish::selector::invalid_sub_cmd_test_inputs
static
Initial value:
=
testing::Values(InputOutput{.cmd_args = "cvd stop --daemon",
.android_host_out = "/home/user/download",
.home = "/home/fake_user"},
.android_host_out = "/home/user/download",
.home = "/home/fake_user"},
InputOutput{.cmd_args = "cvd help --daemon",
.android_host_out = "/home/user/download",
.home = "/home/fake_user"})
Definition: files_test_helper.h:27
Definition: creation_analyzer_helper.h:46
std::string cmd_args
Definition: creation_analyzer_helper.h:49

◆ kGroupNameField

constexpr char cuttlefish::selector::kGroupNameField[] = "group_name"
constexpr

◆ kHomeField

constexpr char cuttlefish::selector::kHomeField[] = "home"
constexpr

◆ kInstanceIdField

constexpr char cuttlefish::selector::kInstanceIdField[] = "instance_id"
constexpr

◆ kInstanceNameField

constexpr char cuttlefish::selector::kInstanceNameField[] = "instance_name"
constexpr

◆ valid_sub_cmd_test_inputs

auto& cuttlefish::selector::valid_sub_cmd_test_inputs = home_test_inputs
static