mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	- BUG#15934: Instance manager fails to work;
  - BUG#18020: IM connect problem;
  - BUG#18027: IM: Server_ID differs;
  - BUG#18033: IM: Server_ID not reported;
  - BUG#21331: Instance Manager: Connect problems in tests;
The only test suite has been changed
(server codebase has not been modified).
BitKeeper/deleted/.del-im_check_os.inc:
  Rename: mysql-test/include/im_check_os.inc -> BitKeeper/deleted/.del-im_check_os.inc
mysql-test/include/im_check_env.inc:
  Include only this file from all IM-tests.
mysql-test/lib/mtr_io.pl:
  Update mtr_get_pid_from_file() to workaround race,
  described in BUG#21884.
mysql-test/lib/mtr_process.pl:
  Refactor im_start()/im_stop() so that they will be more
  reliable. There are the following user-visible changes:
    - if one of these functions fails, the test suite
      is aborted;
    - mtr_im_stop() now determines whether the component is
      alive or not not only by checking PID, but also by trying
      to connect to the component;
    - after starting IM, the test suite waits for it to start
      accepting client connections and to start all its guarded
      mysqld instances;
    - a lot of debug-logs have been added in order to simplify
      investigation of future failures.
mysql-test/mysql-test-run.pl:
  1. Get rid of kill_and_cleanup();
  2. Move im_start()/im_stop() to mtr_process.pl;
  3. Change default IM port to 9311 so that it does not interfere
     with default slave port;
mysql-test/r/im_daemon_life_cycle.result:
  Updated result file.
mysql-test/r/im_life_cycle.result:
  Updated result file.
mysql-test/r/im_options_set.result:
  Updated result file.
mysql-test/r/im_options_unset.result:
  Updated result file.
mysql-test/r/im_utils.result:
  Updated result file.
mysql-test/t/im_daemon_life_cycle.imtest:
  Updated IM-test.
mysql-test/t/im_life_cycle.imtest:
  Updated IM-test.
mysql-test/t/im_options_set.imtest:
  Updated IM-test.
mysql-test/t/im_options_unset.imtest:
  Updated IM-test.
mysql-test/t/im_utils.imtest:
  Updated IM-test.
		
	
		
			
				
	
	
		
			106 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ###########################################################################
 | |
| #
 | |
| # 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
 | |
| 
 | |
| STOP INSTANCE mysqld2;
 | |
| --exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped
 | |
| 
 | |
| #
 | |
| # 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;
 |