mysql5/mysql-5.7.27/mysql-test/t/mysql_embedded.test

71 lines
2.1 KiB
Plaintext

# That is a bit tricky: mysql_embedded.test MUST BE run only against the
# standalone server (started by MTR). The thing is that the test stops the
# server started by MTR and starts an embedded server on the same data files as
# the MTR-server was started. It must be the standalone server, as there is no
# way to stop embedded server started by MTR from within an MTR-test.
--source include/not_embedded.inc
# The test basically restarts the server on the same data set.
# Thus, the InnoDB page size must be the default. Otherwise, the server
# with the default page size will refuse to start on the data set with custom
# page size.
--source include/have_innodb_16k.inc
--source include/have_no_undo_tablespaces.inc
--echo #
--echo # Bug#12561297 : LIBMYSQLD/EXAMPLE/MYSQL_EMBEDDED IS ABORTING.
--echo #
# Test case require mysql_embedded to be present.
if(!$MYSQL_EMBEDDED)
{
--skip Test requires mysql_embedded executable
}
# Stop server
--source include/shutdown_mysqld.inc
# Prepare a new config file without ssl.
--let $special_config_file = $MYSQLTEST_VARDIR/tmp/my.mysql_embedded.cnf
--let IN_FILE_PATH = $PATH_CONFIG_FILE
--let OUT_FILE_PATH = $special_config_file
--perl
use strict;
my $in_file_path = $ENV{IN_FILE_PATH} or die "IN_FILE_PATH not set";
my $out_file_path = $ENV{OUT_FILE_PATH} or die "OUT_FILE_PATH not set";
open (IN_FILE, "<$in_file_path") or
die ("Fail to open in-file '$in_file_path': $!\n");
open (OUT_FILE, ">$out_file_path") or
die ("Fail to open out-file '$out_file_path': $!\n");
while (my $line = <IN_FILE>)
{
chomp $line;
print OUT_FILE "$line\n"
unless ($line =~ /^ssl-ca=/ ||
$line =~ /^ssl-cert=/ ||
$line =~ /^ssl-key=/);
}
close (IN_FILE);
close (OUT_FILE);
EOF
--exec $MYSQL_EMBEDDED --defaults-file=$special_config_file -e "SELECT 1"
--echo #
--echo # Bug#11764633 : 57491: THD->MAIN_DA.IS_OK() ASSERT IN EMBEDDED
--echo #
--exec $MYSQL_EMBEDDED --defaults-file=$special_config_file -e "\T foo/bar"
# Start server
--source include/start_mysqld.inc
--remove_file $special_config_file