1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-06 19:08:06 +03:00
Files
mariadb/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test
Monty 9cba6c5aa3 Updated mtr files to support different compiled in options
This allows one to run the test suite even if any of the following
options are changed:
- character-set-server
- collation-server
- join-cache-level
- log-basename
- max-allowed-packet
- optimizer-switch
- query-cache-size and query-cache-type
- skip-name-resolve
- table-definition-cache
- table-open-cache
- Some innodb options
etc

Changes:
- Don't print out the value of system variables as one can't depend on
  them to being constants.
- Don't set global variables to 'default' as the default may not
  be the same as the test was started with if there was an additional
  option file. Instead save original value and reset it at end of test.
- Test that depends on the latin1 character set should include
  default_charset.inc or set the character set to latin1
- Test that depends on the original optimizer switch, should include
  default_optimizer_switch.inc
- Test that depends on the value of a specific system variable should
  set it in the test (like optimizer_use_condition_selectivity)
- Split subselect3.test into subselect3.test and subselect3.inc to
  make it easier to set and reset system variables.
- Added .opt files for test that required specfic options that could
  be changed by external configuration files.
- Fixed result files in rockdsb & tokudb that had not been updated for
  a while.
2019-09-01 19:17:35 +03:00

161 lines
4.1 KiB
Plaintext

#
# Tests for the performance_schema host_cache.
#
# Simulate failures from client / server protocol:
# - reported in COUNT_HANDSHAKE_ERRORS
# aud further causes blocking errors:
# - reported in SUM_CONNECT_ERRORS
# - reported in COUNT_HOST_BLOCKED_ERRORS
--source include/not_embedded.inc
--source include/have_debug.inc
--source include/have_perfschema.inc
--source include/have_hostname_cache.inc
# Enforce a clean state
--source ../include/wait_for_pfs_thread_count.inc
--source ../include/hostcache_set_state.inc
select @@global.max_connect_errors into @saved_max_connect_errors;
set global max_connect_errors = 3;
create user 'root'@'santa.claus.ipv4.example.com';
grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
create user 'quota'@'santa.claus.ipv4.example.com';
grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
select "Con1 is alive";
select current_user();
disconnect con1;
--connection default
set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4,native_password_bad_reply";
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con2a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con2b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con2c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HOST_IS_BLOCKED
connect (con2d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HOST_IS_BLOCKED
connect (con2e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
# Now that the host is blocked, check that flush works
flush hosts;
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con3a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con3b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--connection default
set global debug_dbug= "-d,native_password_bad_reply";
--disable_query_log
connect (con4,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
select "Valid connection should reset SUM_CONNECT_ERROR counter" as message;
--disconnect con4
--enable_query_log
--connection default
set global debug_dbug= "+d,native_password_bad_reply";
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con5b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HANDSHAKE_ERROR
connect (con5c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HOST_IS_BLOCKED
connect (con5d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
--disable_query_log
--error ER_HOST_IS_BLOCKED
connect (con5e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
--enable_query_log
--connection default
--source ../include/hostcache_dump.inc
revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
drop user 'root'@'santa.claus.ipv4.example.com';
revoke select on test.* from 'quota'@'santa.claus.ipv4.example.com';
drop user 'quota'@'santa.claus.ipv4.example.com';
set global max_connect_errors = @saved_max_connect_errors;
set global debug_dbug= default;