You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2016/03/01 12:59:45 UTC
svn commit: r1733042 - /jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
Author: sebb
Date: Tue Mar 1 11:59:44 2016
New Revision: 1733042
URL: http://svn.apache.org/viewvc?rev=1733042&view=rev
Log:
JMeter should report incompatible command-line options
Part 1: split up options to allow them to be referenced; disallow -l, -r, -R for -g
Bugzilla Id: 59091
Modified:
jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
Modified: jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=1733042&r1=1733041&r2=1733042&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Tue Mar 1 11:59:44 2016
@@ -161,70 +161,126 @@ public class JMeter implements JMeterPlu
* <li>A description of the option.</li>
* </ul>
*/
- private static final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
+ private static final CLOptionDescriptor D_OPTIONS_OPT =
new CLOptionDescriptor("?", CLOptionDescriptor.ARGUMENT_DISALLOWED, OPTIONS_OPT,
- "print command line options and exit"),
+ "print command line options and exit");
+ private static final CLOptionDescriptor D_HELP_OPT =
new CLOptionDescriptor("help", CLOptionDescriptor.ARGUMENT_DISALLOWED, HELP_OPT,
- "print usage information and exit"),
+ "print usage information and exit");
+ private static final CLOptionDescriptor D_VERSION_OPT =
new CLOptionDescriptor("version", CLOptionDescriptor.ARGUMENT_DISALLOWED, VERSION_OPT,
- "print the version information and exit"),
+ "print the version information and exit");
+ private static final CLOptionDescriptor D_PROPFILE_OPT =
new CLOptionDescriptor("propfile", CLOptionDescriptor.ARGUMENT_REQUIRED, PROPFILE_OPT,
- "the jmeter property file to use"),
+ "the jmeter property file to use");
+ private static final CLOptionDescriptor D_PROPFILE2_OPT =
new CLOptionDescriptor("addprop", CLOptionDescriptor.ARGUMENT_REQUIRED
| CLOptionDescriptor.DUPLICATES_ALLOWED, PROPFILE2_OPT,
- "additional JMeter property file(s)"),
+ "additional JMeter property file(s)");
+ private static final CLOptionDescriptor D_TESTFILE_OPT =
new CLOptionDescriptor("testfile", CLOptionDescriptor.ARGUMENT_REQUIRED, TESTFILE_OPT,
- "the jmeter test(.jmx) file to run"),
+ "the jmeter test(.jmx) file to run");
+ private static final CLOptionDescriptor D_LOGFILE_OPT =
new CLOptionDescriptor("logfile", CLOptionDescriptor.ARGUMENT_REQUIRED, LOGFILE_OPT,
- "the file to log samples to"),
+ "the file to log samples to");
+ private static final CLOptionDescriptor D_JMLOGFILE_OPT =
new CLOptionDescriptor("jmeterlogfile", CLOptionDescriptor.ARGUMENT_REQUIRED, JMLOGFILE_OPT,
- "jmeter run log file (jmeter.log)"),
+ "jmeter run log file (jmeter.log)");
+ private static final CLOptionDescriptor D_NONGUI_OPT =
new CLOptionDescriptor("nongui", CLOptionDescriptor.ARGUMENT_DISALLOWED, NONGUI_OPT,
- "run JMeter in nongui mode"),
+ "run JMeter in nongui mode");
+ private static final CLOptionDescriptor D_SERVER_OPT =
new CLOptionDescriptor("server", CLOptionDescriptor.ARGUMENT_DISALLOWED, SERVER_OPT,
- "run the JMeter server"),
+ "run the JMeter server");
+ private static final CLOptionDescriptor D_PROXY_HOST =
new CLOptionDescriptor("proxyHost", CLOptionDescriptor.ARGUMENT_REQUIRED, PROXY_HOST,
- "Set a proxy server for JMeter to use"),
+ "Set a proxy server for JMeter to use");
+ private static final CLOptionDescriptor D_PROXY_PORT =
new CLOptionDescriptor("proxyPort", CLOptionDescriptor.ARGUMENT_REQUIRED, PROXY_PORT,
- "Set proxy server port for JMeter to use"),
+ "Set proxy server port for JMeter to use");
+ private static final CLOptionDescriptor D_NONPROXY_HOSTS =
new CLOptionDescriptor("nonProxyHosts", CLOptionDescriptor.ARGUMENT_REQUIRED, NONPROXY_HOSTS,
- "Set nonproxy host list (e.g. *.apache.org|localhost)"),
+ "Set nonproxy host list (e.g. *.apache.org|localhost)");
+ private static final CLOptionDescriptor D_PROXY_USERNAME =
new CLOptionDescriptor("username", CLOptionDescriptor.ARGUMENT_REQUIRED, PROXY_USERNAME,
- "Set username for proxy server that JMeter is to use"),
+ "Set username for proxy server that JMeter is to use");
+ private static final CLOptionDescriptor D_PROXY_PASSWORD =
new CLOptionDescriptor("password", CLOptionDescriptor.ARGUMENT_REQUIRED, PROXY_PASSWORD,
- "Set password for proxy server that JMeter is to use"),
+ "Set password for proxy server that JMeter is to use");
+ private static final CLOptionDescriptor D_JMETER_PROPERTY =
new CLOptionDescriptor("jmeterproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, JMETER_PROPERTY,
- "Define additional JMeter properties"),
+ "Define additional JMeter properties");
+ private static final CLOptionDescriptor D_JMETER_GLOBAL_PROP =
new CLOptionDescriptor("globalproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, JMETER_GLOBAL_PROP,
- "Define Global properties (sent to servers)\n\t\te.g. -Gport=123 or -Gglobal.properties"),
+ "Define Global properties (sent to servers)\n\t\te.g. -Gport=123 or -Gglobal.properties");
+ private static final CLOptionDescriptor D_SYSTEM_PROPERTY =
new CLOptionDescriptor("systemproperty", CLOptionDescriptor.DUPLICATES_ALLOWED
| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, SYSTEM_PROPERTY,
- "Define additional system properties"),
+ "Define additional system properties");
+ private static final CLOptionDescriptor D_SYSTEM_PROPFILE =
new CLOptionDescriptor("systemPropertyFile", CLOptionDescriptor.DUPLICATES_ALLOWED
| CLOptionDescriptor.ARGUMENT_REQUIRED, SYSTEM_PROPFILE,
- "additional system property file(s)"),
+ "additional system property file(s)");
+ private static final CLOptionDescriptor D_LOGLEVEL =
new CLOptionDescriptor("loglevel", CLOptionDescriptor.DUPLICATES_ALLOWED
| CLOptionDescriptor.ARGUMENTS_REQUIRED_2, LOGLEVEL,
- "[category=]level e.g. jorphan=INFO or jmeter.util=DEBUG"),
+ "[category=]level e.g. jorphan=INFO or jmeter.util=DEBUG");
+ private static final CLOptionDescriptor D_REMOTE_OPT =
new CLOptionDescriptor("runremote", CLOptionDescriptor.ARGUMENT_DISALLOWED, REMOTE_OPT,
- "Start remote servers (as defined in remote_hosts)"),
+ "Start remote servers (as defined in remote_hosts)");
+ private static final CLOptionDescriptor D_REMOTE_OPT_PARAM =
new CLOptionDescriptor("remotestart", CLOptionDescriptor.ARGUMENT_REQUIRED, REMOTE_OPT_PARAM,
- "Start these remote servers (overrides remote_hosts)"),
+ "Start these remote servers (overrides remote_hosts)");
+ private static final CLOptionDescriptor D_JMETER_HOME_OPT =
new CLOptionDescriptor("homedir", CLOptionDescriptor.ARGUMENT_REQUIRED, JMETER_HOME_OPT,
- "the jmeter home directory to use"),
+ "the jmeter home directory to use");
+ private static final CLOptionDescriptor D_REMOTE_STOP =
new CLOptionDescriptor("remoteexit", CLOptionDescriptor.ARGUMENT_DISALLOWED, REMOTE_STOP,
- "Exit the remote servers at end of test (non-GUI)"),
+ "Exit the remote servers at end of test (non-GUI)");
+ private static final CLOptionDescriptor D_REPORT_GENERATING_OPT =
new CLOptionDescriptor("reportonly",
CLOptionDescriptor.ARGUMENT_REQUIRED, REPORT_GENERATING_OPT,
- "generate report dashboard only"),
+ "generate report dashboard only",
+ new CLOptionDescriptor[]{ D_REMOTE_OPT, D_REMOTE_OPT_PARAM, D_LOGFILE_OPT }); // disallowed
+ private static final CLOptionDescriptor D_REPORT_AT_END_OPT =
new CLOptionDescriptor("reportatendofloadtests",
CLOptionDescriptor.ARGUMENT_DISALLOWED, REPORT_AT_END_OPT,
- "generate report dashboard after load test"),
+ "generate report dashboard after load test");
+ private static final CLOptionDescriptor D_REPORT_OUTPUT_FOLDER_OPT =
new CLOptionDescriptor("reportoutputfolder",
CLOptionDescriptor.ARGUMENT_REQUIRED, REPORT_OUTPUT_FOLDER_OPT,
- "output folder for report dashboard"),
+ "output folder for report dashboard");
+
+ private static final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
+ D_OPTIONS_OPT,
+ D_HELP_OPT,
+ D_VERSION_OPT,
+ D_PROPFILE_OPT,
+ D_PROPFILE2_OPT,
+ D_TESTFILE_OPT,
+ D_LOGFILE_OPT,
+ D_JMLOGFILE_OPT,
+ D_NONGUI_OPT,
+ D_SERVER_OPT,
+ D_PROXY_HOST,
+ D_PROXY_PORT,
+ D_NONPROXY_HOSTS,
+ D_PROXY_USERNAME,
+ D_PROXY_PASSWORD,
+ D_JMETER_PROPERTY,
+ D_JMETER_GLOBAL_PROP,
+ D_SYSTEM_PROPERTY,
+ D_SYSTEM_PROPFILE,
+ D_LOGLEVEL,
+ D_REMOTE_OPT,
+ D_REMOTE_OPT_PARAM,
+ D_JMETER_HOME_OPT,
+ D_REMOTE_STOP,
+ D_REPORT_GENERATING_OPT,
+ D_REPORT_AT_END_OPT,
+ D_REPORT_OUTPUT_FOLDER_OPT,
};
public JMeter() {