158a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust/** 258a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * Copyright (C) 2010 the original author or authors. 358a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * See the notice.md file distributed with this work for additional 458a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * information regarding copyright ownership. 558a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * 658a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * Licensed under the Apache License, Version 2.0 (the "License"); 758a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * you may not use this file except in compliance with the License. 858a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * You may obtain a copy of the License at 958a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * 1058a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * http://www.apache.org/licenses/LICENSE-2.0 1158a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * 1258a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * Unless required by applicable law or agreed to in writing, software 1358a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * distributed under the License is distributed on an "AS IS" BASIS, 1458a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1558a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * See the License for the specific language governing permissions and 1658a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust * limitations under the License. 1758a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust */ 1858a4af720c30d8dba072a96e3713577c8d30aeaeCedric Beust 19103fe3e72907f6f221dda8688e6e6d1b69ddeb73Cedric Beustpackage com.beust.jcommander.args; 200a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 21103fe3e72907f6f221dda8688e6e6d1b69ddeb73Cedric Beustimport com.beust.jcommander.Parameter; 220a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beustimport com.beust.jcommander.internal.Lists; 230a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 240a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beustimport java.util.List; 250a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 260a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beustpublic class CommandLineArgs { 270a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 280a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(description = "The XML suite files to run") 290a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public List<String> suiteFiles = Lists.newArrayList(); 300a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 310a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity") 320a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Integer verbose; 330a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 340a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-groups", description = "Comma-separated list of group names to be run") 350a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String groups; 360a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 370a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-excludedgroups", description ="Comma-separated list of group names to be " + 380a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "run") 390a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String excludedGroups; 400a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 410a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-d", description ="Output directory") 420a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String outputDirectory; 430a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 440a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-junit", description ="JUnit mode") 450a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Boolean junit = Boolean.FALSE; 460a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 470a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-listener", description = "List of .class files or list of class names" + 480a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust " implementing ITestListener or ISuiteListener") 490a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String listener; 500a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 510a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-methodselectors", description = "List of .class files or list of class " + 520a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "names implementing IMethodSelector") 530a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String methodSelectors; 540a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 550a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-objectfactory", description = "List of .class files or list of class " + 560a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "names implementing ITestRunnerFactory") 570a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String objectFactory; 580a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 590a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-parallel", description = "Parallel mode (methods, tests or classes)") 600a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String parallelMode; 610a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 620a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-configfailurepolicy", description = "Configuration failure policy (skip or continue)") 630a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String configFailurePolicy; 640a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 650a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-threadcount", description = "Number of threads to use when running tests " + 660a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "in parallel") 670a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Integer threadCount; 680a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 690a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-dataproviderthreadcount", description = "Number of threads to use when " + 700a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "running data providers") 710a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Integer dataProviderThreadCount; 720a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 730a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-suitename", description = "Default name of test suite, if not specified " + 740a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "in suite definition file or source code") 750a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String suiteName; 760a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 770a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-testname", description = "Default name of test, if not specified in suite" + 780a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust "definition file or source code") 790a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String testName; 800a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 810a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-reporter", description = "Extended configuration for custom report listener") 820a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String reporter; 830a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 840a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust /** 850a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust * Used as map key for the complete list of report listeners provided with the above argument 860a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust */ 870a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-reporterslist") 880a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String reportersList; 890a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 900a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-usedefaultlisteners", description = "Whether to use the default listeners") 910a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String useDefaultListeners = "true"; 920a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 930a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-skipfailedinvocationcounts") 940a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Boolean skipFailedInvocationCounts; 950a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 960a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-testclass", description = "The list of test classes") 970a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String testClass; 980a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 990a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-testnames", description = "The list of test names to run") 1000a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String testNames; 1010a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1020a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-testjar", description = "") 1030a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String testJar; 1040a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1050a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-testRunFactory", description = "") 1060a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String testRunFactory; 1070a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1080a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-port", description = "The port") 1090a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public Integer port; 1100a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1110a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-host", description = "The host") 1120a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String host; 1130a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1140a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-master", description ="Host where the master is") 1150a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String master; 1160a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1170a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust @Parameter(names = "-slave", description ="Host where the slave is") 1180a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust public String slave; 1190a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust 1200a0d8099f7e0c2f2f79e6f9233bcfeb7147995e6Cedric Beust} 121