#At lp:maria based on revid:monty@askmonty.org-20091002103628-i11aqe3i16vgf514 2739 Michael Widenius 2009-10-02 When using --help --verbose give error and abort if there are any unknown options modified: mysql-test/r/mysqld_option_err.result mysql-test/t/mysqld_option_err.test sql/mysqld.cc per-file messages: 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 sql/mysqld.cc When using --help --verbose give error and abort if there are any unknown options === modified file 'mysql-test/r/mysqld_option_err.result' --- a/mysql-test/r/mysqld_option_err.result 2009-09-03 13:05:02 +0000 +++ b/mysql-test/r/mysqld_option_err.result 2009-10-02 11:09:01 +0000 @@ -3,4 +3,6 @@ Test bad binlog format. Test bad default storage engine. Test non-numeric value passed to number option. 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. === modified file 'mysql-test/t/mysqld_option_err.test' --- a/mysql-test/t/mysqld_option_err.test 2009-09-25 14:38:02 +0000 +++ b/mysql-test/t/mysqld_option_err.test 2009-10-02 11:09:01 +0000 @@ -46,5 +46,14 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_optio --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 +# +# 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. === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2009-09-17 22:46:10 +0000 +++ b/sql/mysqld.cc 2009-10-02 11:09:01 +0000 @@ -4020,9 +4020,6 @@ server."); 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 */ if (defaults_argc > 1) { @@ -4047,13 +4044,15 @@ server."); if (defaults_argc) { - fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n" - "Use --verbose --help to get a list of available options\n", + fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n", my_progname, *tmp_argv); unireg_abort(1); } } + if (opt_help) + unireg_abort(0); + /* if the errmsg.sys is not loaded, terminate to maintain behaviour */ if (!errmesg[0][0]) unireg_abort(1);