in regression-test/framework/src/main/groovy/org/apache/doris/regression/ConfigOptions.groovy [101:671]
static CommandLine initCommands(String[] args) {
helpOption = Option.builder("h")
.required(false)
.hasArg(false)
.longOpt("help")
.desc("print this usage help")
.build()
confFileOpt = Option.builder("cf")
.argName("confFilePath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("confFile")
.desc("the configure file path")
.build()
defaultDbOpt = Option.builder("db")
.argName("db")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("defaultDb")
.desc("default db")
.build()
jdbcOpt = Option.builder("c")
.argName("url")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("jdbc")
.desc("jdbc url")
.build()
userOpt = Option.builder("u")
.argName("user")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("user")
.desc("the username of jdbc connection")
.build()
passwordOpt = Option.builder("p")
.argName("password")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("password")
.desc("the password of jdbc connection")
.build()
pathOpt = Option.builder("P")
.argName("path")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("path")
.desc("the suite path")
.build()
dataOpt = Option.builder("D")
.argName("dataPath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("dataPath")
.desc("the data path")
.build()
realDataOpt = Option.builder("RD")
.argName("realDataPath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("realDataPath")
.desc("the real data path")
.build()
cacheDataOpt = Option.builder("CD")
.argName("cacheDataPath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("cacheDataPath")
.desc("the cache data path caches data for stream load from s3")
.build()
enableCacheDataOpt = Option.builder("ECD")
.argName("enableCacheData")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("enableCacheData")
.desc("enable caches data for stream load from s3")
.build()
pluginOpt = Option.builder("plugin")
.argName("pluginPath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("plugin")
.desc("the plugin path")
.build()
sslCertificateOpt = Option.builder("ssl")
.argName("sslCertificatePath")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("sslCertificatePath")
.desc("the sslCertificate path")
.build()
imageOpt = Option.builder("image")
.argName("image")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("image")
.desc("the docker image")
.build()
noKillDockerOpt = Option.builder("noKillDocker")
.required(false)
.hasArg(false)
.desc("don't kill docker containers")
.build()
runModeOpt = Option.builder("runMode")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("runMode")
.desc("specific run mode: unknown/cloud/not_cloud. if unknow, will fetch it from fe.")
.build()
suiteOpt = Option.builder("s")
.argName("suiteName")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("suite")
.desc("the suite name wildcard to be test")
.build()
excludeSuiteOpt = Option.builder("xs")
.argName("excludeSuiteName")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("excludeSuite")
.desc("the suite name wildcard will not be tested")
.build()
groupsOpt = Option.builder("g")
.argName("groups")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("groups")
.desc("the suite group to be test")
.build()
excludeGroupsOpt = Option.builder("xg")
.argName("excludeGroupNames")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("excludeGroups")
.desc("the suite group will not be tested")
.build()
directoriesOpt = Option.builder("d")
.argName("directories")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("directories")
.desc("only the use cases in these directories can be executed")
.build()
excludeDirectoriesOpt = Option.builder("xd")
.argName("excludeDirectoryNames")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("excludeDirectories")
.desc("the use cases in these directories will not be tested")
.build()
feSourceThriftAddressOpt = Option.builder("stfa")
.argName("address")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feSourceThriftAddressOpt")
.desc("the fe source thrift address, format is ip:port")
.build()
feTargetThriftAddressOpt = Option.builder("ttfa")
.argName("address")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feTargetThriftAddressOpt")
.desc("the fe target thrift address, format is ip:port")
.build()
feSyncerUserOpt = Option.builder("syncu")
.argName("userName")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feSyncerUser")
.desc("the user of syncer")
.build()
feSyncerPasswordOpt = Option.builder("syncp")
.argName("password")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feSyncerPassword")
.desc("the password of syncer")
.build()
syncerAddressOpt = Option.builder("sa")
.argName("address")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("syncerAddressOpt")
.desc("the syncer address, format is ip:port")
.build()
feHttpAddressOpt = Option.builder("ha")
.argName("address")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feHttpAddress")
.desc("the fe http address, format is ip:port")
.build()
feHttpUserOpt = Option.builder("hu")
.argName("userName")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feHttpUser")
.desc("the user of fe http server")
.build()
feHttpPasswordOpt = Option.builder("hp")
.argName("password")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feHttpPassword")
.desc("the password of fe http server")
.build()
feCloudHttpAddressOpt = Option.builder("cha")
.argName("address")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feCloudHttpAddress")
.desc("the fe cloud http address, format is ip:port")
.build()
feCloudHttpUserOpt = Option.builder("chu")
.argName("userName")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feCloudHttpUser")
.desc("the user of fe cloud http server")
.build()
feCloudHttpPasswordOpt = Option.builder("chp")
.argName("password")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("feCloudHttpPassword")
.desc("the password of fe cloud http server")
.build()
instanceIdOpt = Option.builder("ii")
.argName("instanceId")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("instanceId")
.desc("the instance id")
.build()
cloudUniqueIdOpt = Option.builder("cui")
.argName("cloudUniqueId")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("cloudUniqueId")
.desc("the cloudUniqueId")
.build()
metaServiceHttpAddressOpt = Option.builder("hm")
.argName("metaServiceHttpAddress")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("metaServiceHttpAddress")
.desc("the meta service http address, format is ip:port")
.build()
recycleServiceHttpAddressOpt = Option.builder("hr")
.argName("recycleServiceHttpAddress")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("recycleServiceHttpAddress")
.desc("the recycle service http address, format is ip:port")
.build()
genOutOpt = Option.builder("genOut")
.required(false)
.hasArg(false)
.desc("generate qt .out file if not exist")
.build()
forceGenOutOpt = Option.builder("forceGenOut")
.required(false)
.hasArg(false)
.desc("delete and generate qt .out file")
.build()
confOpt = Option.builder("conf")
.argName("conf")
.required(false)
.hasArgs()
.valueSeparator(('=' as char))
.longOpt("configurations, format: key=value")
.desc("set addition context configurations")
.build()
parallelOpt = Option.builder("parallel")
.argName("parallel")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("parallel")
.desc("the num of threads running scripts")
.build()
suiteParallelOpt = Option.builder("suiteParallel")
.argName("parallel")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("suiteParallel")
.desc("the num of threads running for suites")
.build()
dockerSuiteParallelOpt = Option.builder("dockerSuiteParallel")
.argName("dockerSuiteParallel")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("dockerSuiteParallel")
.desc("the num of threads running for docker suites")
.build()
actionParallelOpt = Option.builder("actionParallel")
.argName("parallel")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("actionParallel")
.desc("the num of threads running for thread action")
.build()
randomOrderOpt = Option.builder("randomOrder")
.required(false)
.hasArg(false)
.desc("run tests in random order")
.build()
stopWhenFailOpt = Option.builder("stopWhenFail")
.required(false)
.hasArg(false)
.desc("stop when a failure happens")
.build()
timesOpt = Option.builder("times")
.argName("times")
.required(false)
.hasArg(true)
.optionalArg(true)
.type(String.class)
.longOpt("times")
.desc("the times tests run, load.groovy is run only one time.")
.build()
withOutLoadDataOpt = Option.builder("w")
.required(false)
.hasArg(false)
.longOpt("withOutLoadData")
.desc("do not run load.groovy to reload data to Doris.")
.build()
runNonConcurrentOpt = Option.builder("runNonConcurrent")
.required(false)
.hasArg(true)
.desc("whether run non-concurrent tests")
.build()
caseNamePrefixOpt = Option.builder("cnp")
.required(false)
.hasArg(true)
.type(String.class)
.longOpt("caseNamePrefix")
.desc("add prefix to each case name")
.build()
dryRunOpt = Option.builder("dryRun")
.required(false)
.hasArg(false)
.desc("just print cases and does not run")
.build()
isSmokeTestOpt = Option.builder("isSmokeTest")
.required(false)
.hasArg(false)
.desc("is smoke test")
.build()
multiClusterBesOpt = Option.builder("multiClusterBes")
.required(false)
.hasArg(false)
.desc("multi cluster backend info")
.build()
metaServiceTokenOpt = Option.builder("metaServiceToken")
.required(false)
.hasArg(false)
.desc("meta service token")
.build()
multiClusterInstanceOpt = Option.builder("multiClusterInstance")
.required(false)
.hasArg(false)
.desc("multi cluster instance")
.build()
upgradeNewBeIpOpt = Option.builder("upgradeNewBeIp")
.required(false)
.hasArg(false)
.desc("new BE ip")
.build()
upgradeNewBeHbPortOpt = Option.builder("upgradeNewBeHbPort")
.required(false)
.hasArg(false)
.desc("new BE heartbeat port")
.build()
upgradeNewBeHttpPortOpt = Option.builder("upgradeNewBeHttpPort")
.required(false)
.hasArg(false)
.desc("new BE http port")
.build()
upgradeNewBeUniqueIdOpt = Option.builder("upgradeNewBeUniqueId")
.required(false)
.hasArg(false)
.desc("new BE cloud unique id")
.build()
stageIamEndpointOpt = Option.builder("stageIamEndpoint")
.required(false)
.hasArg(false)
.desc("stage iam endpoint")
.build()
stageIamRegionOpt = Option.builder("stageIamRegion")
.required(false)
.hasArg(false)
.desc("stage iam region")
.build()
stageIamBucketOpt = Option.builder("stageIamBucket")
.required(false)
.hasArg(false)
.desc("stage iam bucket")
.build()
stageIamPolicyOpt = Option.builder("stageIamPolicy")
.required(false)
.hasArg(false)
.desc("stage iam policy")
.build()
stageIamRoleOpt = Option.builder("stageIamRole")
.required(false)
.hasArg(false)
.desc("stage iam role")
.build()
stageIamArnOpt = Option.builder("stageIamArn")
.required(false)
.hasArg(false)
.desc("stage iam arn")
.build()
stageIamAkOpt = Option.builder("stageIamAk")
.required(false)
.hasArg(false)
.desc("stage iam ak")
.build()
stageIamSkOpt = Option.builder("stageIamSk")
.required(false)
.hasArg(false)
.desc("stage iam sk")
.build()
stageIamUserIdOpt = Option.builder("stageIamUserId")
.required(false)
.hasArg(false)
.desc("stage iam user id")
.build()
clusterDirOpt = Option.builder("clusterDir")
.required(false)
.hasArg(false)
.desc("cloud cluster deploy dir")
.build()
kafkaBrokerListOpt = Option.builder("kafkaBrokerList")
.required(false)
.hasArg(false)
.desc("kafka broker list")
.build()
cloudVersionOpt = Option.builder("cloudVersion")
.required(false)
.hasArg(false)
.desc("selectdb cloud version")
.build()
Options options = new Options()
.addOption(helpOption)
.addOption(jdbcOpt)
.addOption(userOpt)
.addOption(passwordOpt)
.addOption(pathOpt)
.addOption(dataOpt)
.addOption(pluginOpt)
.addOption(sslCertificateOpt)
.addOption(imageOpt)
.addOption(noKillDockerOpt)
.addOption(runModeOpt)
.addOption(confOpt)
.addOption(suiteOpt)
.addOption(excludeSuiteOpt)
.addOption(groupsOpt)
.addOption(excludeGroupsOpt)
.addOption(directoriesOpt)
.addOption(excludeDirectoriesOpt)
.addOption(feSourceThriftAddressOpt)
.addOption(feTargetThriftAddressOpt)
.addOption(feSyncerUserOpt)
.addOption(feSyncerPasswordOpt)
.addOption(syncerAddressOpt)
.addOption(feHttpAddressOpt)
.addOption(feHttpUserOpt)
.addOption(feHttpPasswordOpt)
.addOption(feCloudHttpAddressOpt)
.addOption(feCloudHttpUserOpt)
.addOption(feCloudHttpPasswordOpt)
.addOption(metaServiceHttpAddressOpt)
.addOption(recycleServiceHttpAddressOpt)
.addOption(genOutOpt)
.addOption(confFileOpt)
.addOption(forceGenOutOpt)
.addOption(parallelOpt)
.addOption(suiteParallelOpt)
.addOption(dockerSuiteParallelOpt)
.addOption(actionParallelOpt)
.addOption(randomOrderOpt)
.addOption(stopWhenFailOpt)
.addOption(timesOpt)
.addOption(withOutLoadDataOpt)
.addOption(runNonConcurrentOpt)
.addOption(caseNamePrefixOpt)
.addOption(dryRunOpt)
.addOption(isSmokeTestOpt)
.addOption(multiClusterBesOpt)
.addOption(metaServiceTokenOpt)
.addOption(multiClusterInstanceOpt)
.addOption(upgradeNewBeIpOpt)
.addOption(upgradeNewBeHbPortOpt)
.addOption(upgradeNewBeHttpPortOpt)
.addOption(upgradeNewBeUniqueIdOpt)
.addOption(stageIamEndpointOpt)
.addOption(stageIamRegionOpt)
.addOption(stageIamBucketOpt)
.addOption(stageIamPolicyOpt)
.addOption(stageIamRoleOpt)
.addOption(stageIamArnOpt)
.addOption(stageIamAkOpt)
.addOption(stageIamSkOpt)
.addOption(stageIamUserIdOpt)
.addOption(clusterDirOpt)
.addOption(kafkaBrokerListOpt)
.addOption(cloudVersionOpt)
CommandLine cmd = new DefaultParser().parse(options, args, true)
if (cmd.hasOption(helpOption)) {
printHelp(options)
return null
}
return cmd
}