mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
cf9038e979
fails randomly. The problem was that the test case used command line tool (mysql) without specifying connect_timeout argument. In some cases, this lead to hanging of the test case. The fix is to specify --connect_timeout=1 when starting mysql. Also, the patch contains polishing and various cleanups to simplify analyzing of the problems further. The patch affects only test suite, no server codebase has been touched. mysql-test/lib/mtr_im.pl: Remember PID of the IM-spawner -- a process, that is used to fork IM-angel. mysql-test/lib/mtr_io.pl: Trim \n from the PID. mysql-test/lib/mtr_process.pl: Don't complain if it was IM-spawner, who died. mysql-test/r/im_daemon_life_cycle.result: Update the result file. mysql-test/r/im_life_cycle.result: Update the result file. mysql-test/t/im_daemon_life_cycle.imtest: Polishing: add more comments, be more verbose. mysql-test/t/im_life_cycle.imtest: Polishing: be more verbose. mysql-test/t/im_utils.imtest: Polishing: be more verbose. mysql-test/t/kill_n_check.sh: Log messages to the extrenal file so that they can be analyzed if test case failed. mysql-test/t/wait_for_process.sh: Log messages to the extrenal file so that they can be analyzed if test case failed. mysql-test/t/wait_for_socket.sh: Log messages to the extrenal file so that they can be analyzed if test case failed. mysql-test/t/log.sh: Dummy script to facilitate logging from test-scripts. mysql-test/t/utils.sh: A bunch of auxilary functions to facilitate logging.
105 lines
2.7 KiB
Text
105 lines
2.7 KiB
Text
###########################################################################
|
|
#
|
|
# This file contains test for (2) test suite.
|
|
#
|
|
# Consult WL#2789 for more information.
|
|
#
|
|
###########################################################################
|
|
|
|
--source include/im_check_env.inc
|
|
|
|
###########################################################################
|
|
|
|
#
|
|
# Check 'SHOW INSTANCE OPTIONS' command.
|
|
#
|
|
# Since configuration of an mysqld-instance contains directories, we should
|
|
# completely ignore the second column (values) in order to make the test
|
|
# case produce the same results on different installations;
|
|
# TODO: ignore values of only directory-specific options.
|
|
#
|
|
|
|
--replace_column 2 VALUE
|
|
SHOW INSTANCE OPTIONS mysqld1;
|
|
|
|
--replace_column 2 VALUE
|
|
SHOW INSTANCE OPTIONS mysqld2;
|
|
|
|
#
|
|
# Before checking log files, we should start the second instance (mysqld2) to
|
|
# give it a chance to create log files.
|
|
#
|
|
|
|
START INSTANCE mysqld2;
|
|
--exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_utils
|
|
|
|
STOP INSTANCE mysqld2;
|
|
--exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_utils
|
|
|
|
#
|
|
# Check 'SHOW LOG FILES' command:
|
|
# - check that log files of both offline and online instances are accessible;
|
|
# - since placement of the log files is installation-specific, we should
|
|
# ignore it in comparisson;
|
|
# - also, we should ignore log file size, since it may depend on the version
|
|
# being tested;
|
|
#
|
|
|
|
--replace_column 2 PATH 3 FILE_SIZE
|
|
SHOW mysqld1 LOG FILES;
|
|
|
|
--replace_column 2 PATH 3 FILE_SIZE
|
|
SHOW mysqld2 LOG FILES;
|
|
|
|
#
|
|
# Check 'SHOW LOG' command:
|
|
# - check that all three kinds of logs are available for both offline and
|
|
# online instances;
|
|
# - we should ignore the value, because it is very specific and depends on
|
|
# many factors; we only check that Instance Manager is able to provide log
|
|
# files.
|
|
#
|
|
|
|
# mysqld1 (online) w/o the optional argument.
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG ERROR 10;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG SLOW 10;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG GENERAL 10;
|
|
|
|
# mysqld1 (online) with the optional argument.
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG ERROR 10, 2;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG SLOW 10, 2;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld1 LOG GENERAL 10, 2;
|
|
|
|
# mysqld2 (offline) w/o the optional argument.
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG ERROR 10;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG SLOW 10;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG GENERAL 10;
|
|
|
|
# mysqld2 (offline) with the optional argument.
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG ERROR 10, 2;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG SLOW 10, 2;
|
|
|
|
--replace_column 1 LOG_DATA
|
|
SHOW mysqld2 LOG GENERAL 10, 2;
|