From: Bjorn Munch Date: September 28 2010 2:58pm Subject: bzr push into mysql-5.1-mtr branch (bjorn.munch:2933 to 2935) Bug#56125 List-Archive: http://lists.mysql.com/commits/119296 X-Bug: 56125 Message-Id: <201009281458.o8SEwQV0019083@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1327508140==" --===============1327508140== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 2935 Bjorn Munch 2010-09-28 Bug #56125 MTR2 start-and-exit removes server tmpdir, server becomes not operational This happens when creating new tmpdir due to too long socket path Don't delete it if --start-and-exit, but warn user to do it. modified: mysql-test/mysql-test-run.pl 2934 Bjorn Munch 2010-09-22 Bug #56921 It should be possible to log connection statements in mysqltest Added --enable-connect-log, somewhet similar to --enable-query-log If query log is disabled, disable connect log too Also some related cleanup in mysqltest.test: removing duplicate test loop modified: client/mysqltest.cc mysql-test/r/mysqltest.result mysql-test/t/mysqltest.test 2933 Bjorn Munch 2010-09-21 test fixes after 56753 modified: mysql-test/suite/sys_vars/t/secure_file_priv.test mysql-test/t/mysqltest.test === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-09-20 09:21:27 +0000 +++ b/client/mysqltest.cc 2010-09-22 08:57:10 +0000 @@ -103,6 +103,7 @@ static my_bool parsing_disabled= 0; static my_bool display_result_vertically= FALSE, display_result_lower= FALSE, display_metadata= FALSE, display_result_sorted= FALSE; static my_bool disable_query_log= 0, disable_result_log= 0; +static my_bool disable_connect_log= 1; static my_bool disable_warnings= 0; static my_bool disable_info= 1; static my_bool abort_on_error= 1; @@ -275,6 +276,7 @@ enum enum_commands { Q_DISABLE_RPL_PARSE, Q_EVAL_RESULT, Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG, Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG, + Q_ENABLE_CONNECT_LOG, Q_DISABLE_CONNECT_LOG, Q_WAIT_FOR_SLAVE_TO_STOP, Q_ENABLE_WARNINGS, Q_DISABLE_WARNINGS, Q_ENABLE_INFO, Q_DISABLE_INFO, @@ -342,6 +344,8 @@ const char *command_names[]= /* Enable/disable that the _result_ from a query is logged to result file */ "enable_result_log", "disable_result_log", + "enable_connect_log", + "disable_connect_log", "wait_for_slave_to_stop", "enable_warnings", "disable_warnings", @@ -4793,6 +4797,16 @@ void select_connection_name(const char * set_current_connection(con); + /* Connection logging if enabled */ + if (!disable_connect_log && !disable_query_log) + { + DYNAMIC_STRING *ds= &ds_res; + + dynstr_append_mem(ds, "connection ", 11); + replace_dynstr_append(ds, name); + dynstr_append_mem(ds, ";\n", 2); + } + DBUG_VOID_RETURN; } @@ -4880,6 +4894,16 @@ void do_close_connection(struct st_comma var_set_string("$CURRENT_CONNECTION", con->name); } + /* Connection logging if enabled */ + if (!disable_connect_log && !disable_query_log) + { + DYNAMIC_STRING *ds= &ds_res; + + dynstr_append_mem(ds, "disconnect ", 11); + replace_dynstr_append(ds, ds_connection.str); + dynstr_append_mem(ds, ";\n", 2); + } + DBUG_VOID_RETURN; } @@ -5014,6 +5038,13 @@ int connect_n_handle_errors(struct st_co dynstr_append_mem(ds, delimiter, delimiter_length); dynstr_append_mem(ds, "\n", 1); } + /* Simlified logging if enabled */ + if (!disable_connect_log && !disable_query_log) + { + replace_dynstr_append(ds, command->query); + dynstr_append_mem(ds, ";\n", 2); + } + while (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0, CLIENT_MULTI_STATEMENTS)) { @@ -8071,6 +8102,8 @@ int main(int argc, char **argv) case Q_DISABLE_ABORT_ON_ERROR: abort_on_error=0; break; case Q_ENABLE_RESULT_LOG: disable_result_log=0; break; case Q_DISABLE_RESULT_LOG: disable_result_log=1; break; + case Q_ENABLE_CONNECT_LOG: disable_connect_log=0; break; + case Q_DISABLE_CONNECT_LOG: disable_connect_log=1; break; case Q_ENABLE_WARNINGS: disable_warnings=0; break; case Q_DISABLE_WARNINGS: disable_warnings=1; break; case Q_ENABLE_INFO: disable_info=0; break; === modified file 'mysql-test/mysql-test-run.pl' --- a/mysql-test/mysql-test-run.pl 2010-08-31 09:27:57 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-09-28 13:58:01 +0000 @@ -110,12 +110,24 @@ my $path_vardir_trace; # unix f my $opt_tmpdir; # Path to use for tmp/ dir my $opt_tmpdir_pid; +my $opt_start; +my $opt_start_dirty; +my $opt_start_exit; +my $start_only; + END { if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ ) { - # Remove the tempdir this process has created - mtr_verbose("Removing tmpdir '$opt_tmpdir"); - rmtree($opt_tmpdir); + if (!$opt_start_exit) + { + # Remove the tempdir this process has created + mtr_verbose("Removing tmpdir $opt_tmpdir"); + rmtree($opt_tmpdir); + } + else + { + mtr_warning("tmpdir $opt_tmpdir should be removed after the server has finished"); + } } } @@ -215,10 +227,6 @@ my $opt_start_timeout = $ENV{MTR_START sub suite_timeout { return $opt_suite_timeout * 60; }; sub check_timeout { return $opt_testcase_timeout * 6; }; -my $opt_start; -my $opt_start_dirty; -my $opt_start_exit; -my $start_only; my $opt_wait_all; my $opt_user_args; my $opt_repeat= 1; === modified file 'mysql-test/r/mysqltest.result' --- a/mysql-test/r/mysqltest.result 2010-09-15 12:56:22 +0000 +++ b/mysql-test/r/mysqltest.result 2010-09-22 08:57:10 +0000 @@ -452,12 +452,16 @@ mysqltest: At line 1: Missing required a mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db' mysqltest: At line 1: Illegal argument for port: 'illegal_port' mysqltest: At line 1: Illegal option to connect: SMTP -OK -mysqltest: The test didn't produce any output +200 connects succeeded mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists show tables; ERROR 3D000: No database selected +connect con1,localhost,root,,; +connection default; +connection con1; +disconnect con1; +connection default; Output from mysqltest-x.inc Output from mysqltest-x.inc Output from mysqltest-x.inc === modified file 'mysql-test/t/mysqltest.test' --- a/mysql-test/t/mysqltest.test 2010-09-21 09:16:20 +0000 +++ b/mysql-test/t/mysqltest.test 2010-09-22 08:57:10 +0000 @@ -1467,19 +1467,6 @@ eval select "$long_rep" as x; # Repeat connect/disconnect --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql -let $i=100; -while ($i) -{ - connect (test_con1,localhost,root,,); - disconnect test_con1; - dec $i; -} -EOF ---exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK; exit;" | $MYSQL_TEST 2>&1 -remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; - -# Repeat connect/disconnect ---write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql let $i=200; while ($i) { @@ -1487,9 +1474,8 @@ while ($i) disconnect test_con1; dec $i; } +echo 200 connects succeeded; EOF ---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR ---error 1 --exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1 remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; @@ -1530,6 +1516,22 @@ show tables; disconnect con2; connection default; +# Test enable_connect_log +--enable_connect_log +connect (con1,localhost,root,,); +connection default; +connection con1; +--disable_query_log +# These should not be logged +connect (con2,localhost,root,,*NO-ONE*); +connection con2; +disconnect con2; +connection con1; +--enable_query_log +disconnect con1; +connection default; +--disable_connect_log + # ---------------------------------------------------------------------------- # Test mysqltest arguments # ---------------------------------------------------------------------------- --===============1327508140== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/bjorn.munch@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bjorn.munch@stripped # target_branch: file:///home/bm136801/my/ecl-51/ # testament_sha1: 3cf0f66df9f77c2f0b56bcbb15541d2df2fc00d3 # timestamp: 2010-09-28 16:58:26 +0200 # base_revision_id: bjorn.munch@stripped\ # odo7z6qd2n0sayyo # # Begin bundle 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 --===============1327508140==--