summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2012-02-06 22:55:17 +0100
committerSergei Golubchik <sergii@pisem.net>2012-02-06 22:55:17 +0100
commit3320a4bffb715c7596d9daded90ff1b37e8229f2 (patch)
treea74551f96ba7a87ddf6db83fc6490b54303c9a36
parent9c8c572fd327385b6c3801fbd8d1a9419484b0f4 (diff)
downloadmariadb-git-3320a4bffb715c7596d9daded90ff1b37e8229f2.tar.gz
per-combination result files
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_delayed.test4
-rw-r--r--mysql-test/lib/mtr_cases.pm44
-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.result59
-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.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test10
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