Commit cbf16194 authored by Michael Widenius's avatar Michael Widenius

When using --help --verbose give error and abort if there are any unknown options

mysql-test/r/mysqld_option_err.result:
  Test that mysqld --not-known-option --help --verbose gives error
mysql-test/t/mysqld_option_err.test:
  Test that mysqld --not-known-option --help --verbose gives error
parent f77e2692
...@@ -3,4 +3,6 @@ Test bad binlog format. ...@@ -3,4 +3,6 @@ Test bad binlog format.
Test bad default storage engine. Test bad default storage engine.
Test non-numeric value passed to number option. Test non-numeric value passed to number option.
Test that bad value for plugin enum option is rejected correctly. Test that bad value for plugin enum option is rejected correctly.
Test that --help --verbose works
Test that --not-known-option --help --verbose gives error
Done. Done.
...@@ -46,5 +46,14 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_option_err; ...@@ -46,5 +46,14 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_option_err;
--error 7 --error 7
--exec $MYSQLD --skip-networking --datadir=$MYSQLTEST_VARDIR/tmp/mysqld_option_err --skip-grant-tables $EXAMPLE_PLUGIN_OPT --plugin-load=EXAMPLE=ha_example.so --plugin-example-enum-var=noexist >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1 --exec $MYSQLD --skip-networking --datadir=$MYSQLTEST_VARDIR/tmp/mysqld_option_err --skip-grant-tables $EXAMPLE_PLUGIN_OPT --plugin-load=EXAMPLE=ha_example.so --plugin-example-enum-var=noexist >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
#
# Test that an wrong option with --help --verbose gives an error
#
--echo Test that --help --verbose works
--exec $MYSQLD --help --verbose >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
--echo Test that --not-known-option --help --verbose gives error
--error 2
--exec $MYSQLD --not-known-option --help --verbose >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
--echo Done. --echo Done.
...@@ -4020,9 +4020,6 @@ server."); ...@@ -4020,9 +4020,6 @@ server.");
plugins_are_initialized= TRUE; /* Don't separate from init function */ plugins_are_initialized= TRUE; /* Don't separate from init function */
} }
if (opt_help)
unireg_abort(0);
/* we do want to exit if there are any other unknown options */ /* we do want to exit if there are any other unknown options */
if (defaults_argc > 1) if (defaults_argc > 1)
{ {
...@@ -4047,13 +4044,15 @@ server."); ...@@ -4047,13 +4044,15 @@ server.");
if (defaults_argc) if (defaults_argc)
{ {
fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n" fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n",
"Use --verbose --help to get a list of available options\n",
my_progname, *tmp_argv); my_progname, *tmp_argv);
unireg_abort(1); unireg_abort(1);
} }
} }
if (opt_help)
unireg_abort(0);
/* if the errmsg.sys is not loaded, terminate to maintain behaviour */ /* if the errmsg.sys is not loaded, terminate to maintain behaviour */
if (!errmesg[0][0]) if (!errmesg[0][0])
unireg_abort(1); unireg_abort(1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment