diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-02-06 22:55:17 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-02-06 22:55:17 +0100 |
commit | 3320a4bffb715c7596d9daded90ff1b37e8229f2 (patch) | |
tree | a74551f96ba7a87ddf6db83fc6490b54303c9a36 | |
parent | 9c8c572fd327385b6c3801fbd8d1a9419484b0f4 (diff) | |
download | mariadb-git-3320a4bffb715c7596d9daded90ff1b37e8229f2.tar.gz |
per-combination result files
-rw-r--r-- | mysql-test/extra/rpl_tests/rpl_insert_delayed.test | 4 | ||||
-rw-r--r-- | mysql-test/lib/mtr_cases.pm | 44 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.result (renamed from mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result) | 3 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_insert_delayed.result (renamed from mysql-test/suite/rpl/r/rpl_row_insert_delayed.result) | 3 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result | 59 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_insert_delayed.test (renamed from mysql-test/suite/rpl/t/rpl_row_insert_delayed.test) | 3 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test | 6 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test | 10 |
8 files changed, 32 insertions, 100 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_delayed.test b/mysql-test/extra/rpl_tests/rpl_insert_delayed.test index 5b0b52c3106..df08622b0bd 100644 --- a/mysql-test/extra/rpl_tests/rpl_insert_delayed.test +++ b/mysql-test/extra/rpl_tests/rpl_insert_delayed.test @@ -9,8 +9,6 @@ CREATE SCHEMA IF NOT EXISTS mysqlslap; USE mysqlslap; --enable_warnings -select @@global.binlog_format; - # # BUG#25507 "multi-row insert delayed + auto increment causes # duplicate key entries on slave"; @@ -145,7 +143,7 @@ select * from t1; connection master; drop table t1; sync_slave_with_master; -if (`SELECT @@global.binlog_format != 'ROW'`) +if (`SELECT @@global.binlog_format = 'STATEMENT'`) { #flush the logs after the test FLUSH LOGS; diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 758d87303a8..cd90f4bea43 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -616,20 +616,6 @@ sub collect_one_test_case { suite => $suites{$suitename}, ); - my $result_file= "$resdir/$tname.result"; - if (-f $result_file) { - # Allow nonexistsing result file - # in that case .test must issue "exit" otherwise test - # should fail by default - $tinfo->{result_file}= $result_file; - } - else { - # No .result file exist - # Remember the path where it should be - # saved in case of --record - $tinfo->{record_file}= $result_file; - } - # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them as skipped # ---------------------------------------------------------------------- @@ -871,6 +857,36 @@ sub collect_one_test_case { { @cases = map make_combinations($_, @{$comb}), @cases; } + + for $tinfo (@cases) { + if ($tinfo->{combinations}) { + my $re = '(?:' . join('|', @{$tinfo->{combinations}}) . ')'; + my $found = 0; + for (<$resdir/$tname,*.result>) { + m|$tname((?:,$re)+)\.result$| or next; + my $combs = $&; + my @commas = ($combs =~ m/,/g); + # prefer the most specific result file + if (@commas > $found) { + $found = @commas; + $tinfo->{result_file} = $_; + } + } + } + + unless (defined $tinfo->{result_file}) { + my $result_file= "$resdir/$tname.result"; + if (-f $result_file) { + $tinfo->{result_file}= $result_file; + } else { + # No .result file exist + # Remember the path where it should be + # saved in case of --record + $tinfo->{record_file}= $result_file; + } + } + } + return @cases; } diff --git a/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.result index afff633cd49..48fd78a84de 100644 --- a/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result +++ b/mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.result @@ -2,9 +2,6 @@ include/master-slave.inc [connection master] CREATE SCHEMA IF NOT EXISTS mysqlslap; USE mysqlslap; -select @@global.binlog_format; -@@global.binlog_format -STATEMENT CREATE TABLE t1 (id INT primary key auto_increment, name VARCHAR(64)) ENGINE=MyISAM; FLUSH TABLE t1; SELECT COUNT(*) FROM t1; diff --git a/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_insert_delayed.result index e7f25f9cb0a..8e9ceb3c00c 100644 --- a/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result +++ b/mysql-test/suite/rpl/r/rpl_insert_delayed.result @@ -2,9 +2,6 @@ include/master-slave.inc [connection master] CREATE SCHEMA IF NOT EXISTS mysqlslap; USE mysqlslap; -select @@global.binlog_format; -@@global.binlog_format -ROW CREATE TABLE t1 (id INT primary key auto_increment, name VARCHAR(64)) ENGINE=MyISAM; FLUSH TABLE t1; SELECT COUNT(*) FROM t1; diff --git a/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result deleted file mode 100644 index 0074d69ba15..00000000000 --- a/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result +++ /dev/null @@ -1,59 +0,0 @@ -include/master-slave.inc -[connection master] -CREATE SCHEMA IF NOT EXISTS mysqlslap; -USE mysqlslap; -select @@global.binlog_format; -@@global.binlog_format -MIXED -CREATE TABLE t1 (id INT primary key auto_increment, name VARCHAR(64)) ENGINE=MyISAM; -FLUSH TABLE t1; -SELECT COUNT(*) FROM t1; -COUNT(*) -5000 -use mysqlslap; -SELECT COUNT(*) FROM t1; -COUNT(*) -5000 -truncate table t1; -insert delayed into t1 values(10, "my name"); -flush table t1; -insert delayed into t1 values(10, "is Bond"), (20, "James Bond"); -flush table t1; -select * from t1; -id name -10 my name -20 James Bond -select * from t1; -id name -10 my name -20 James Bond -delete from t1 where id!=10; -insert delayed into t1 values(20, "is Bond"), (10, "James Bond"); -flush table t1; -select * from t1; -id name -10 my name -20 is Bond -select * from t1; -id name -10 my name -20 is Bond -USE test; -DROP SCHEMA mysqlslap; -use test; -CREATE TABLE t1(a int, UNIQUE(a)); -INSERT DELAYED IGNORE INTO t1 VALUES(1); -INSERT DELAYED IGNORE INTO t1 VALUES(1); -flush table t1; -select * from t1; -a -1 -On slave -select * from t1; -a -1 -drop table t1; -FLUSH LOGS; -FLUSH LOGS; -End of 5.0 tests -include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_insert_delayed.test index a6c38117767..342b9115de8 100644 --- a/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test +++ b/mysql-test/suite/rpl/t/rpl_insert_delayed.test @@ -1,6 +1,5 @@ ---source include/have_binlog_format_row.inc ---source include/master-slave.inc --source include/not_embedded.inc --source include/not_windows.inc +--source include/master-slave.inc --source extra/rpl_tests/rpl_insert_delayed.test --source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test deleted file mode 100644 index a310fa254f7..00000000000 --- a/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test +++ /dev/null @@ -1,6 +0,0 @@ ---source include/have_binlog_format_mixed.inc ---source include/master-slave.inc ---source include/not_embedded.inc ---source include/not_windows.inc ---source extra/rpl_tests/rpl_insert_delayed.test ---source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test deleted file mode 100644 index 92d57625283..00000000000 --- a/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test +++ /dev/null @@ -1,10 +0,0 @@ ---source include/have_binlog_format_statement.inc ---source include/master-slave.inc ---source include/not_embedded.inc ---source include/not_windows.inc - -disable_query_log; -call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); -enable_query_log; ---source extra/rpl_tests/rpl_insert_delayed.test ---source include/rpl_end.inc |