mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Bug#18743: Several test cases fails if "classic" configuration in 5.0
The problem happened because those tests were using "cp932" and "ucs2" without checking whether these character sets are available. This fix moves test parts to make character set specific parts be tested only if they are: - some parts were moved to "ctype_ucs.test" and "ctype_cp932.test" - some parts were moved to the newly added tests "innodb-ucs2.test", "mysqlbinglog-cp932.test" and "sp-ucs2.test" mysql-test/r/ctype_cp932.result: Moved cp932-specific test case from mysql.test mysql-test/r/innodb.result: Moved ucs2-specific test cases to innodb-ucs2.test mysql-test/r/mysql.result: Move cp932-specific test cases to ctype_cp932.test mysql-test/r/mysqlbinlog.result: Moved cp932-specific test case to mysqlbinlog-cp932.test mysql-test/r/sp.result: Moved ucs2-specific test case to sp-ucs2.test mysql-test/t/ctype_cp932.test: Moved cp932-specific test case from mysql.test mysql-test/t/ctype_ucs2_def-master.opt: Use the comma-separated list of character sets to avoid mysql-test errors when ucs2 is not available in the server mysql-test/t/ctype_ucs2_def.test: Added requirement for ucs2 in the server mysql-test/t/innodb.test: Moved ucs2-specific test cases to innodb-ucs2.test mysql-test/t/mysql.test: Move cp932-specific test cases to ctype_cp932.test mysql-test/t/mysqlbinlog.test: Moved cp932-specific test case to mysqlbinlog-cp932.test mysql-test/t/sp.test: Moved ucs2-specific test case to sp-ucs2.test sql/mysqld.cc: Allow specifying several character sets for test purposes, to make "mysqld" start even if the character set being tested is not compiled: mysqld --default-character-set=ucs2,latin1 The first available character set will be chosen. mysql-test/r/innodb-ucs2.result: New BitKeeper file ``mysql-test/r/innodb-ucs2.result'' mysql-test/r/mysqlbinlog-cp932.result: New BitKeeper file ``mysql-test/r/mysqlbinlog-cp932.result'' mysql-test/r/sp-ucs2.result: New BitKeeper file ``mysql-test/r/sp-ucs2.result'' mysql-test/t/innodb-ucs2.test: New BitKeeper file ``mysql-test/t/innodb-ucs2.test'' mysql-test/t/mysqlbinlog-cp932.test: New BitKeeper file ``mysql-test/t/mysqlbinlog-cp932.test'' mysql-test/t/sp-ucs2.test: New BitKeeper file ``mysql-test/t/sp-ucs2.test''
This commit is contained in:
@ -107,21 +107,6 @@ select "--- reading stdin --" as "";
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--exec $MYSQL_BINLOG --short-form --position=79 - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001
|
||||
|
||||
# Bug#16217 (mysql client did not know how not switch its internal charset)
|
||||
flush logs;
|
||||
create table t3 (f text character set utf8);
|
||||
create table t4 (f text character set cp932);
|
||||
--exec $MYSQL --default-character-set=utf8 test -e "insert into t3 values(_utf8'ソ')"
|
||||
--exec $MYSQL --default-character-set=cp932 test -e "insert into t4 values(_cp932'<27>\');"
|
||||
flush logs;
|
||||
rename table t3 to t03, t4 to t04;
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000004 | $MYSQL --default-character-set=utf8
|
||||
# original and recovered data must be equal
|
||||
select HEX(f) from t03;
|
||||
select HEX(f) from t3;
|
||||
select HEX(f) from t04;
|
||||
select HEX(f) from t4;
|
||||
|
||||
#
|
||||
#BUG#14157: utf8 encoding in binlog without set character_set_client
|
||||
#
|
||||
@ -131,10 +116,10 @@ flush logs;
|
||||
# resulted binlog, parly consisting of multi-byte utf8 chars,
|
||||
# must be digestable for both client and server. In 4.1 the client
|
||||
# should use default-character-set same as the server.
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000006 | $MYSQL
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000004 | $MYSQL
|
||||
select * from t5 /* must be (1),(1) */;
|
||||
|
||||
# clean up
|
||||
drop table t1, t2, t03, t04, t3, t4, t5;
|
||||
drop table t1, t2, t5;
|
||||
|
||||
# End of 5.0 tests
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user