MDEV-7089: Test failures in main.failed_auth_unixsocket and plugins.unix_socket depending on environment

The test cases had some --replace_result $USER USER. The problem is that the
value of $USER can be anything, depending on the name of the unix account that
runs the test suite. So random parts of the result can be errorneously
replaced, causing test failures.

Fix by making the replacements more specific, so they will match only the
intended stuff regardless of the value of $USER.
This commit is contained in:
Kristian Nielsen 2014-11-12 11:10:13 +01:00
parent b84a892fb2
commit 3180e76262
2 changed files with 15 additions and 5 deletions

View File

@ -12,11 +12,14 @@ eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
--echo # with named user
--echo #
--replace_result $USER USER
--let $replace=create user $USER
--replace_result $replace "create user USER"
eval create user $USER identified via unix_socket;
--write_file $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--replace_result $USER USER
--let $replace1=$USER@localhost
--let $replace2=$USER@%
--replace_result $replace1 "USER@localhost" $replace2 "USER@%"
select user(), current_user(), database();
EOF
@ -31,7 +34,8 @@ EOF
--error 1
--exec $MYSQL_TEST -u foobar --plugin-dir=$plugindir < $MYSQLTEST_VARDIR/tmp/peercred_test.txt
--replace_result $USER USER
--let $replace=drop user $USER
--replace_result $replace "drop user USER"
eval drop user $USER;
--echo #

View File

@ -16,11 +16,17 @@ change_user $USER;
eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $USER USER
# Make sure that the replace works, even if $USER is 'user' or something else
# that matches other parts of the error message.
--echo connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET);
--let $replace=Access denied for user '$USER'
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $replace "Access denied for user 'USER'"
--disable_query_log
--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
connect (fail,localhost,$USER);
--enable_query_log
--replace_result $USER USER
--replace_result $replace "Access denied for user 'USER'"
--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
change_user $USER;