Commit d33fbe44 authored by Mattias Jonsson's avatar Mattias Jonsson

Bug#59418: parts suite have several failures with --embedded-server

The test were using external tools not available for embedded.

Fixed by rewriting the test to not rely on external tools like the mysql-client

Also fixed some non portable --exec commands and replaced #p# to #P# to pass
on windows.
parent 06e21d5c
...@@ -66,10 +66,10 @@ if ($found_garbage) ...@@ -66,10 +66,10 @@ if ($found_garbage)
} }
# Do a manual cleanup, because the following tests should not suffer from # Do a manual cleanup, because the following tests should not suffer from
# remaining files # remaining files
--exec rm -f $MYSQLD_DATADIR/test/t1* || true --remove_files_wildcard $MYSQLD_DATADIR/test t1*
if ($with_directories) if ($with_directories)
{ {
--exec rm -f $MYSQLTEST_VARDIR/tmp/t1* || true --remove_files_wildcard $MYSQLTEST_VARDIR/tmp t1*
} }
} }
--enable_query_log --enable_query_log
...@@ -29,14 +29,10 @@ DELETE FROM t0_definition; ...@@ -29,14 +29,10 @@ DELETE FROM t0_definition;
let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`; let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`;
#echo MYSQLD_DATADIR: $MYSQLD_DATADIR; #echo MYSQLD_DATADIR: $MYSQLD_DATADIR;
# Dump the current definition of the table t1 to tmp1 # Save the current definition of the table t1
# This complicated method - let another mysqltest collect the output - is used
# because of two reasons
# - SHOW CREATE TABLE t1 is at least currently most probably more reliable than # - SHOW CREATE TABLE t1 is at least currently most probably more reliable than
# the corresponding SELECT on the INFORMATION_SCHEMA # the corresponding SELECT on the INFORMATION_SCHEMA
# - SHOW CREATE TABLE .. cannot write its out put into a file like SELECT let $show_create= `SHOW CREATE TABLE t1`;
let $show_file= $MYSQLD_DATADIR/test/tmp1;
--exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1
if ($do_file_tests) if ($do_file_tests)
{ {
# List the files belonging to the table t1 # List the files belonging to the table t1
...@@ -57,12 +53,13 @@ if (!$do_file_tests) ...@@ -57,12 +53,13 @@ if (!$do_file_tests)
# Insert the current definition of the table t1 into t0_definition # Insert the current definition of the table t1 into t0_definition
eval INSERT INTO t0_definition SET state = 'old', eval INSERT INTO t0_definition SET state = 'old',
create_command = load_file('$show_file'), create_command = "$show_create",
file_list = @aux; file_list = @aux;
# Print the create table statement into the protocol # Print the create table statement into the protocol
# Added the concat to avoid changing the result files
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR '\r' '' --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR '\r' ''
SELECT create_command FROM t0_definition WHERE state = 'old'; SELECT concat('SHOW CREATE TABLE t1;\nTable\tCreate Table\n',create_command,'\n') as `create_command` FROM t0_definition WHERE state = 'old';
if ($do_file_tests) if ($do_file_tests)
{ {
# We stored the list of files, therefore printing the content makes sense # We stored the list of files, therefore printing the content makes sense
......
...@@ -28,9 +28,8 @@ DELETE FROM t0_definition WHERE state = 'new'; ...@@ -28,9 +28,8 @@ DELETE FROM t0_definition WHERE state = 'new';
let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`; let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`;
#echo MYSQLD_DATADIR: $MYSQLD_DATADIR; #echo MYSQLD_DATADIR: $MYSQLD_DATADIR;
# Dump the current definition of the table t1 to tmp1 # Save the current definition of the table t1
let $show_file= $MYSQLD_DATADIR/test/tmp1; let $show_create= `SHOW CREATE TABLE t1`;
--exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1
if ($do_file_tests) if ($do_file_tests)
{ {
...@@ -52,7 +51,7 @@ if (!$do_file_tests) ...@@ -52,7 +51,7 @@ if (!$do_file_tests)
# Insert the current definition of the table t1 into t0_definition # Insert the current definition of the table t1 into t0_definition
eval INSERT INTO t0_definition SET state = 'new', eval INSERT INTO t0_definition SET state = 'new',
create_command = load_file('$show_file'), create_command = "$show_create",
file_list = @aux; file_list = @aux;
# Print the old and new table layout, if they differ # Print the old and new table layout, if they differ
......
call mtr.add_suppression("./test/t1_will_crash"); call mtr.add_suppression("t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc"); call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc");
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM; CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11); INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
......
...@@ -14,6 +14,7 @@ partition by range (a) ...@@ -14,6 +14,7 @@ partition by range (a)
insert into t1 values (1), (11), (21), (33); insert into t1 values (1), (11), (21), (33);
SELECT * FROM t1; SELECT * FROM t1;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
--replace_result #p# #P#
--list_files $MYSQLD_DATADIR/test --list_files $MYSQLD_DATADIR/test
SET DEBUG_SYNC='before_open_in_get_all_tables SIGNAL parked WAIT_FOR open'; SET DEBUG_SYNC='before_open_in_get_all_tables SIGNAL parked WAIT_FOR open';
...@@ -36,6 +37,7 @@ ALTER TABLE t1 REORGANIZE PARTITION p0 INTO ...@@ -36,6 +37,7 @@ ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
disconnect con1; disconnect con1;
connection default; connection default;
--reap --reap
--replace_result #p# #P#
--list_files $MYSQLD_DATADIR/test --list_files $MYSQLD_DATADIR/test
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
SELECT * FROM t1; SELECT * FROM t1;
......
# test the auto-recover (--myisam-recover) of partitioned myisam tables # test the auto-recover (--myisam-recover) of partitioned myisam tables
call mtr.add_suppression("./test/t1_will_crash"); call mtr.add_suppression("t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc"); call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc");
--source include/have_partition.inc --source include/have_partition.inc
...@@ -20,6 +20,8 @@ FLUSH TABLES; ...@@ -20,6 +20,8 @@ FLUSH TABLES;
let $MYSQLD_DATADIR= `select @@datadir`; let $MYSQLD_DATADIR= `select @@datadir`;
--remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI --remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI
--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI --copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI
--replace_result \\ /
--replace_regex /Table '.*data/Table './
SELECT * FROM t1_will_crash; SELECT * FROM t1_will_crash;
DROP TABLE t1_will_crash; DROP TABLE t1_will_crash;
CREATE TABLE t1_will_crash (a INT, KEY (a)) CREATE TABLE t1_will_crash (a INT, KEY (a))
...@@ -33,5 +35,7 @@ FLUSH TABLES; ...@@ -33,5 +35,7 @@ FLUSH TABLES;
--echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI --echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI
--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI --remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI --copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
--replace_result \\ /
--replace_regex /Table '.*data/Table './
SELECT * FROM t1_will_crash; SELECT * FROM t1_will_crash;
DROP TABLE t1_will_crash; DROP TABLE t1_will_crash;
...@@ -58,8 +58,8 @@ ENGINE = InnoDB ...@@ -58,8 +58,8 @@ ENGINE = InnoDB
PARTITION BY HASH (a) PARTITION BY HASH (a)
PARTITIONS 2; PARTITIONS 2;
connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,); connect (con1, localhost, root,,);
connect (con2,127.0.0.1,root,,test,$MASTER_MYPORT,); connect (con2, localhost, root,,);
--connection con1 --connection con1
SET autocommit=OFF; SET autocommit=OFF;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment